本文主要是介绍8.22练习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.使用read以及write函数对文件内容进行拷贝
#include<myhead.h>
int main(int argc, const char *argv[]) {int fd, des;// 打开源文件只读模式fd = open("./1.txt", O_RDONLY);if (fd == -1) {perror("打开文件 ./1.txt 失败"); return -1;}// 打开目标文件 写入模式,若不存在则创建,若存在则清空des = open("./2.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644);if (des == -1) {perror("打开文件 ./2.txt 失败"); close(fd); // 关闭已打开的源文件return -1;}char buff[1024]; // 缓冲区用于存储读取的数据ssize_t len = read(fd, buff, sizeof(buff)); // 从源文件读取数据到缓冲区// 检查读取操作的结果if (len == 0) {printf("文件读取完毕!\n"); } else if (len == -1) {printf("文件读取失败!\n"); perror("读取文件失败"); close(fd); close(des); return -1;} else {// 将缓冲区中的数据写入目标文件if (write(des, buff, len) != len) {perror("写入文件失败"); close(fd); close(des); return -1;}printf("写入完成!\n"); // 写入操作完成}// 关闭文件描述符close(fd);close(des);return 0;
}
这篇关于8.22练习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!