一. 思维导图
二. 练习
1) 使用read, write实现两个文件的拷贝
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
int main(int argc, const char *argv[]) {
if (argc != 3) {
printf("输入参数数量不正确\n");
return -1;
}
int destfd, srcfd;
if ((srcfd = open(argv[2], O_RDONLY)) == -1) {
perror("src file open");
return -1;
}
if ((destfd = open(argv[1], O_WRONLY|O_CREAT|O_TRUNC, 0664)) == -1) {
perror("dest file open");
return -1;
}
char buf[10];
int readCount;
while((readCount = read(srcfd, buf, sizeof(buf))) != 0) {
write(destfd, buf, readCount);
}
close(srcfd);
close(destfd);
return 0;
}
效果展示