将一个文件打开并且重新复制一份:
注意:打开方式和是否对文件偏移量进行追加的问题。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
#include <fcntl.h>
int main(int argc, char* argv[])//主函数参数有3个,它自己,源文件,目标文件。
{
if ( argc != 3 )//如果没有3个参数,说明缺少文件名
{
printf(“缺少文件名\n”);
exit(0);
}
char * src_name = argv[1];//记录原文件地址
char * dst_name = argv[2];//记录目标文件地址
int fdr = open(src_name,O_RDONLY);//原文件以只读方式打开,保护原文件,不被更改
int fdw = open(dst_name,O_WRONLY|O_CREAT,0600);//目标文件以只写方式打开,若文件不存在那就创建文件
if ( fdr ==