#include <unistd.h>
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
if(argc !=3){
printf("Usage:%s<src file><obj file>\n",argv[0]);
return -1;
}
int fd_src,fd_obj;
char buf[32]={0};
ssize_t ret;
fd_src=open(argv[1],O_RDWR);
if(fd_src<0){
printf("open src is error\n");
return -1;
}
fd_obj=open(argv[2],O_CREAT|O_RDWR,0666);
if(fd_obj<0){
printf("open obj is error\n");
return -1;
}
while((ret = read(fd_src,buf,32))!=0){
write(fd_obj,buf,ret);
};
close(fd_src);
close(fd_obj);
}
该C语言程序接受两个命令行参数,源文件和目标文件的路径。它打开源文件进行读取,然后将数据写入目标文件。如果文件打开失败或读写操作出错,程序会输出错误信息并返回负值。程序使用read和write系统调用进行文件间的复制操作。
1300

被折叠的 条评论
为什么被折叠?



