用fread和fwrite实现文件拷贝
时间: 2023-08-15 17:14:36 浏览: 116
您可以使用`fread`和`fwrite`函数来实现文件的拷贝。下面是一个简单的示例代码:
```c
#include <stdio.h>
#define BUFFER_SIZE 1024
int main() {
FILE *source_file, *destination_file;
char buffer[BUFFER_SIZE];
source_file = fopen("source.txt", "rb");
destination_file = fopen("destination.txt", "wb");
if (source_file == NULL || destination_file == NULL) {
printf("无法打开文件。\n");
return 1;
}
size_t bytes_read;
while ((bytes_read = fread(buffer, 1, BUFFER_SIZE, source_file)) > 0) {
fwrite(buffer, 1, bytes_read, destination_file);
}
fclose(source_file);
fclose(destination_file);
printf("文件拷贝成功。\n");
return 0;
}
```
在上面的示例中,我们打开了一个源文件(source.txt)和一个目标文件(destination.txt)。然后,我们使用`fread`函数从源文件中读取数据到缓冲区中,并使用`fwrite`函数将缓冲区中的数据写入目标文件。
您可以根据需要更改源文件和目标文件的名称,以及缓冲区的大小(`BUFFER_SIZE`)。请注意,这个示例是基于二进制文件的拷贝,如果您处理的是文本文件,可以将文件模式从"rb"和"wb"更改为"r"和"w"。
请确保您具有适当的文件读写权限,并且源文件存在且可读。完成后,目标文件将包含与源文件相同的内容,实现了文件的拷贝。
阅读全文