1、文件名通过命令行参数指定;
2、文件打开方式;
3、如何判断读到源文件的末尾
代码如下:
#include <stdio.h>
#include <unistd.h>//read/write/close
#include <fcntl.h>//open
#define N 64
int main(int argc,char *argv[])
{
//fd表示源文件,fdt目标文件,n表示每次读取的字节数
int fd,fdt,n;
char buf[N];//缓冲区
if(argc < 3)
{
printf("Usage : %s <src_file> <dst_file>\n",argv[0]);
return -1;
}
//只读打开源文件,并做错误检查
if ((fd = open(argv[1],O_RDONLY)) == -1)
{
perror("open");
return -1;
}
//只写打开目标文件,文件不存在则新建,文件存在则清空
if((fdt = open(argv[2],O_WRONLY|O_CREAT|O_TRUNC,_0666)) == -1 )
{
perror("open");
return -1;
}
while((n = read(fd,buf,N))>0)
{
write(fdt,buf,n);
}
close(fd);
close(fdt);
return 0;
}