C语言将一个二进制文件file1.dat的内容复制到file2.dat中
时间: 2024-02-06 11:10:31 浏览: 115
可以使用C语言中的文件操作函数实现将一个二进制文件file1.dat的内容复制到file2.dat中的操作,具体代码如下:
```c
#include <stdio.h>
int main() {
FILE *fp1, *fp2;
char buffer[1024];
size_t bytes_read;
// 打开file1.dat文件
fp1 = fopen("file1.dat", "rb");
if (fp1 == NULL) {
printf("无法打开文件 file1.dat\n");
return 1;
}
// 打开或创建file2.dat文件
fp2 = fopen("file2.dat", "wb");
if (fp2 == NULL) {
printf("无法打开或创建文件 file2.dat\n");
fclose(fp1);
return 1;
}
// 从file1.dat读取内容,并将内容写入到file2.dat中
while ((bytes_read = fread(buffer, 1, sizeof(buffer), fp1)) > 0) {
fwrite(buffer, 1, bytes_read, fp2);
}
// 关闭文件指针
fclose(fp1);
fclose(fp2);
printf("文件内容复制成功!\n");
return 0;
}
```
在上述代码中,我们首先使用`fopen()`函数打开file1.dat文件,打开方式为二进制读取模式`"rb"`。如果文件打开失败,则输出错误提示信息并退出程序。
接着,我们使用`fopen()`函数打开或创建file2.dat文件,打开方式为二进制写入模式`"wb"`。如果文件打开或创建失败,则输出错误提示信息并关闭file1.dat文件指针,最后退出程序。
然后,我们使用`fread()`函数从file1.dat文件中读取数据,每次读取1024个字节,将读取到的字节存储到buffer数组中。接着,我们使用`fwrite()`函数将buffer数组中的字节写入到file2.dat文件中。
最后,我们使用`fclose()`函数关闭file1.dat和file2.dat文件指针,并输出文件内容复制成功的提示信息。
阅读全文