#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char **argv)
{
if(argc!=3)
{
printf("参数有误\n");
return -1;
}
int fdsrc,fddes;//源文件和目标文件的描述符
fdsrc = open(argv[1], O_RDWR);//源文件
char *readBuf;
int size = lseek(fdsrc,0,SEEK_END);//size为fdarc文件的字符串长度
readBuf = (char *)malloc(sizeof(char)*size+12);//给readBuf分配空间
lseek(fdsrc,0,SEEK_SET);//把光标移动到开始
read(fdsrc,readBuf,size);//把fdsrc的内容读到readBuf
fddes = open(argv[2],O_RDWR|O_TRUNC|O_CREAT,0600);//不存在则以可读可写,以截取方式创建
// write(int fd, const void *buf, size_t count);
write(fddes,readBuf,strlen(readBuf));//把readBuf里的内容读到fddes的文件里
close(fdsrc);//关闭源文件
close(fddes);//关闭目标文件
return 0;
}
写一个my_cp
最新推荐文章于 2023-06-30 17:52:23 发布