#include<myhead.h>
int main(int argc, const char *argv[])
{
FILE *fp=NULL;
//以读写的方式打开文件
if((fp=fopen("./saotu.bmp","r"))==NULL)
{
perror("fopen error");
return -1;
}
//以只写的方式打开目标文件
FILE *fd=NULL;
if((fd=fopen("./dest.bmp","w"))==NULL)
{
perror("fopen error");
return -1;
}
//定义容器存放所读取的数据
char buf[1024];
int res=0;
while(res=fread(buf,1,sizeof(buf),fp))
{
fwrite(buf,1,res,fd);//将容器的内容写入目标文件
}
//关闭文件
fclose(fp);
fclose(fd);
return 0;
}
#include <myhead.h>
int main(int argc, const char *argv[])
{
//判断终端输入是否正确
if(argc!=3)
{
printf("input error\n");
return -1;
}
//定义并打开两个文件
int fd1=-1;
if((fd1=open(argv[1],O_RDWR|O_CREAT|O_TRUNC,0664))==-1)
{
perror("open error");
return -1;
}
int fd2=-1;
if((fd2=open(argv[2],O_CREAT|O_WRONLY|O_TRUNC,0664))==-1)
{
perror("open error");
return -1;
}
//读取第一个文件的内容放入第二个文件中
char buf[128];
while(1)
{
int res=read(fd1,buf,sizeof(buf));
if(res==0)
break;
write(fd2,buf,res);
}
//关闭文件
close(fd1);
close(fd2);
printf("拷贝成功\n");
return 0;
}
待补: