1、打开要复制的文件
2、创建新的文件
3、把源文件内容读到缓冲区,把缓冲区内容写入新文件
4、循坏执行第三步,直到读取的字节数量为0,退出循坏。
5、关闭打开的文件
文件描述符:0标准输入 1标准输出 2标准出错 3默认文件描符返回值
#include <unistd.h> //read_write函数头文件
#include <sys/types.h> //下面三个是open函数头文件
#include <sys/stat.h>
#include <fcntl.h>
#include<stdio.h>
int main(int argc,char** argv)//接收控制台传过来的参数
{
int fd1,fd2; //文件标识符
char buf[512];//缓冲区
int read_size;//读取文件内容长度
if(argc !=3)
{
printf("param error!!\r\n");
return -1;
}
//只读方式打开1.txt
fd1=open(argv[1],O_RDONLY);
//只写的(没有则创建一个文件)方式打开,权限0666可读可写
fd2=open(argv[2],O_WRONLY|O_CREAT,0666);
if(fd1<0 || fd2<0)
{
printf("open error!\r\n");
return -1;
}
while(1)
{
read_size=read(fd1,buf,512);
if(read_size == 0)
break;
write(fd2,buf,read_size);
}
close(fd1);
close(fd2);
return 0;
}