#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
FILE *to,*from;
size_t size;
char buf[100];
if(argc != 3){
printf("usage:%s {fromFile} {toFile}\n",argv[0]);
exit(-1);
}
from = fopen(argv[1],"rb");
if(!from)
{
printf("open %s failed:%s\n",argv[1],strerror(errno));
exit(-1);
}
to = fopen(argv[2],"wb");
if(!to)
{
printf("open %s failed:%s\n",argv[2],strerror(errno));
exit(-1);
}
while((size = fread(buf,1,sizeof(buf),from)) == sizeof(buf))
{
if(fwrite(buf,1,size,to) < size)
{
printf("write error:%s\n",strerror(errno));
exit(-1);
}
}
if(feof(from))
printf("successfully copied!\n");
else
{
printf("error:%s\n",strerror(errno));
}
fclose(from);
fclose(to);
}
#include <errno.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
FILE *to,*from;
size_t size;
char buf[100];
if(argc != 3){
printf("usage:%s {fromFile} {toFile}\n",argv[0]);
exit(-1);
}
from = fopen(argv[1],"rb");
if(!from)
{
printf("open %s failed:%s\n",argv[1],strerror(errno));
exit(-1);
}
to = fopen(argv[2],"wb");
if(!to)
{
printf("open %s failed:%s\n",argv[2],strerror(errno));
exit(-1);
}
while((size = fread(buf,1,sizeof(buf),from)) == sizeof(buf))
{
if(fwrite(buf,1,size,to) < size)
{
printf("write error:%s\n",strerror(errno));
exit(-1);
}
}
if(feof(from))
printf("successfully copied!\n");
else
{
printf("error:%s\n",strerror(errno));
}
fclose(from);
fclose(to);
}

这是一个使用C语言编写的简单程序,实现了文件的复制功能。通过打开源文件和目标文件,然后读取源文件内容并写入目标文件,完成文件的拷贝。如果在操作过程中遇到错误,如无法打开文件或写入失败,程序会输出错误信息并退出。
559

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



