#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,char**argv)
{
int fdSrc;
int fdDes;
char *readbuf=NULL;
if(argc<3){
printf("param error\n");
exit(-1);//参数少于3个,打印param error,然后退出.
}
fdSrc=open(argv[1],O_RDWR);//可读可写方式打开源文件,返回一个文件描述符。
int size=lseek(fdSrc,0,SEEK_END);//计算源文件的大小
lseek(fdSrc,0,SEEK_SET);//光标移动到文件开头处
readbuf=(char*)malloc(sizeof(char)*size+8);//给readbuf开辟空间
int n_read=read(fdSrc,readbuf,size);//将源文件内容读到readbuf内存里
fdDes=open(argv[2],O_RDWR|O_CREAT|O_TRUNC,0600);//可读可写打开目标文件,没有则创建文件
int n_write=write(fdDes,readbuf,strlen(readbuf));//写入readbuf里的内容。
close(fdSrc);//关闭文件
close(fdDes);
return 0;
}
【无标题】linux文件操作之自己实现cp(拷贝)指令
最新推荐文章于 2024-08-15 10:49:31 发布