读书人

linux停把一个可执行程序写到另外一个

发布时间: 2013-09-28 10:01:20 作者: rapoo

linux下把一个可执行程序写到另外一个文件,给文件加了运行权限,不能运行
#include<fcntl.h>
#include<stdio.h>
#define X (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH)
int main()
{
FILE *s,*d;
int n;
char str[100];
if((s=fopen("/home/chen/c/jie","rb"))<0)
{printf("open /home/chne/c/jie fail\n");return 0;}
if((d=fopen("./ss","wb"))<0)
{printf("open ./ss fail\n");return 0;}
while(n=(fread(str,1,100,s))>0)
{
if(n!=fwrite(str,1,n,d)){printf("write fail!\n");break;}
}
printf("OK!\n");
return 0;
}

看了一下tree和ss的二进制数据,明显不同,ss里的数据太少,tree程序就一个输出hello world
[解决办法]
while(n=(fread(str,1,100,s))>0)

这写了个毛。

读书人网 >C语言

热点推荐