首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

linux停把一个可执行程序写到另外一个文件,给文件加了运行权限,不能运行

2013-09-28 
linux下把一个可执行程序写到另外一个文件,给文件加了运行权限,不能运行#includefcntl.h#includestdio.

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)

这写了个毛。

热点排行