红联Linux门户
Linux帮助

write系统调用出了问题

发布时间:2011-03-23 17:29:01来源:红联作者:hml1006
写了一个文件复制小程序,write函数不往文件写,往屏幕输出
不知道是不是重定向了[code]
#include
#include
#include
#include
#include
#include
#include
#define BUF_LENGTH 1024
int main(int argc,char *argv[])
{
if(argc!=3){
printf("参数错误!\n");
exit(1);
}
int src_file;
int dst_file;
if((src_file=open(argv[1],O_RDONLY))==-1){
perror("打开");
exit(1);
}
if((dst_file=open(argv[2],O_RDWR|O_CREAT,S_IRUSR|S_IWUSR)==-1)){
perror("创建");
exit(1);
}
char buf[BUF_LENGTH];
int num;
while(num = read(src_file,buf,BUF_LENGTH)){//读取文件
write(dst_file,buf,num);//写入文件
printf("%s\n",buf);//输出缓冲区
}
close(src_file);
close(dst_file);
}[/code]
文章评论

共有 2 条评论

  1. txgc_wm 于 2011-03-27 00:11:30发表:

    求真相,问题的根源

  2. xqwait 于 2011-03-23 19:09:28发表:

    write调用失败了吧, 检测下write返回结果。