编写一个文件复制的C语言程序: 分别使用文件的系统调用read(fd, buf, nbytes), write(fd, buf, nbytes)和

编写一个文件复制的C语言程序:分别使用文件的系统调用read(fd,buf,nbytes),write(fd,buf,nbytes)和文件的库函数fread(buf,si... 编写一个文件复制的C语言程序:
分别使用文件的系统调用read(fd, buf, nbytes), write(fd, buf, nbytes)和文件的库函数fread(buf, size, nitems, fp), fwrite(buf, size, nitems, fp),编写一个文件的复制程序(文件大小>1M ),文件可以编一个C程序来生成,或使用/usr/bin下的二进制执行文件。
展开
 我来答
zhxnlove
推荐于2016-04-17 · TA获得超过156个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:81.6万
展开全部
就是一个文件的读写问题啊。

#include<stdio.h>

int main(int argc, char **argv)
{
int rfd = -1, wfd = -1;
char buf[1024] = {0};
int n;

if(argc != 3){
printf("Usage: ./test infile outfile\n");
return -1;
}

rfd = open(argv[1], O_RDONLY);
wfd = open(argv[2], O_WRONLY);

while((n = read(rfd, buf, 1024)) > 0)
write(wfd, buf, n);

return 0;
}

其中的错误检测自己添加;

测试:# ./test infile outfile
./test是你编译生成的,infile是输入文件,outfile是要写入的文件
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式