实现CP指令只需要五步
1.打开Src文件(源文件)
2.读Src到Buf
3.打开Des文件(目标文件)
4.写Buf到Des
5.关闭Src和Des文件
代码如下:
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.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("pararm error\n"); exit(-1); } 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); int n_read = read(fdSrc, readBuf, size); //O_TRUNC 属性去打开文件时,如果这个文件中本来是有内容的,而且为只读或只写成功打开,则将其长度截短为0。 fdDes = open(argv[2],O_RDWR|O_CREAT|O_TRUNC,0600); //strlen()计算字符串长度 int n_write = write(fdDes,readBuf,strlen(readBuf)); close(fdSrc); close(fdDes); return 0; }