学习了文件操作函数后,可以使用文件操作函数实现对普通文件的拷贝,具体的文件操作函数如下:
如何实现文件的拷贝呢?
基本思想:
代码实现:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<assert.h>
#include<fcntl.h>
//fd文件描述符
int main()//利用文件操作函数实现普通文件的拷贝
{
int fdr=open("./file.c",O_RDONLY);//以读的方式打开原来的文件
assert(fdr != -1);
int fdw=open("test.c",O_WRONLY|O_CREAT,0600);//以写的方式创建并打开一个文件
assert(fdw !=-1);
while(1)
{
char buff[128]={0};
int n=read(fdr,buff,127);//读原来的文件到buff[]中
if(n==0)//如果文件中没有数据读结束
{
break;
}
write(fdw,buff,n);//从buff写n个字节长度到新的文件中
}
close(fdr);
close(fdw);
exit(0);
}
运行结果:
首先是创建一个file.c的文件
执行main程序后,得到如下结果
此时可以看见新建了test.c文件,并且将文件内容进行了复制。