在my_copy.c模块中编写一个函数,能拷贝一个文件,
时间: 2024-11-09 07:18:33 浏览: 11
在C语言中,要在`my_copy.c`模块中编写一个函数来拷贝文件,可以使用标准库函数`fopen`, `fwrite`, 和 `fclose`。这里是一个简单的示例,它定义了一个名为`copy_file`的函数,接收两个参数:源文件名和目标文件名:
```c
#include <stdio.h> // 包含文件I/O操作所需的头文件
// 定义复制文件的函数
void copy_file(const char* src_path, const char* dest_path) {
FILE* src = fopen(src_path, "rb"); // 以二进制模式打开读取源文件
if (src == NULL) {
perror("Error opening source file");
return;
}
FILE* dest = fopen(dest_path, "wb"); // 以二进制模式打开写入目标文件
if (dest == NULL) {
perror("Error opening destination file");
fclose(src);
return;
}
size_t bytes_read = 0;
char buffer[BUFSIZ]; // 用于临时存储读取的数据
while ((bytes_read = fread(buffer, sizeof(char), BUFSIZ, src)) > 0) {
fwrite(buffer, sizeof(char), bytes_read, dest); // 将数据写入目标文件
}
fclose(src); // 关闭源文件
if (fclose(dest) != 0) { // 检查是否成功关闭目标文件
perror("Error closing destination file");
}
}
阅读全文