实现对应文件拷贝功能 用c语言
时间: 2024-09-26 15:06:52 浏览: 36
在C语言中实现文件拷贝功能,通常我们会使用标准库函数`fopen()`, `fclose()`, `fwrite()`, 和 `fread()` 来完成这个任务。这里是一个简单的示例,展示如何将一个源文件复制到另一个目标文件:
```c
#include <stdio.h>
// 函数原型声明
void copy_file(const char *src_path, const char *dst_path);
int main() {
// 源文件路径
const char *src = "source.txt";
// 目标文件路径
const char *dst = "destination.txt";
// 打开源文件进行读取
FILE *src_file = fopen(src, "rb");
if (src_file == NULL) {
perror("Failed to open source file");
return 1;
}
// 打开目标文件进行写入
FILE *dst_file = fopen(dst, "wb");
if (dst_file == NULL) {
perror("Failed to open destination file");
fclose(src_file);
return 1;
}
// 读取源文件内容并写入目标文件
char buffer[BUFSIZ]; // 假设缓冲区大小为 BUFSIZ
size_t bytes_read;
while ((bytes_read = fread(buffer, sizeof(char), BUFSIZ, src_file)) > 0) {
if (fwrite(buffer, bytes_read, 1, dst_file) != bytes_read) {
perror("Error writing to destination file");
fclose(src_file);
fclose(dst_file);
return 1;
}
}
// 关闭文件
fclose(src_file);
fclose(dst_file);
printf("File copied successfully.\n");
return 0;
}
// 文件拷贝函数
void copy_file(const char *src_path, const char *dst_path) {
// 使用main中的逻辑进行文件操作
// 这里省略了具体的错误处理
FILE *src = fopen(src_path, "rb");
FILE *dst = fopen(dst_path, "wb");
// ...
}
```
阅读全文