fread实现复制一张图片
时间: 2023-08-22 09:10:08 浏览: 119
使用`fread`函数实现复制一张图片的步骤如下:
1. 打开要复制的图片,以二进制只读模式打开文件;
2. 创建一个新文件,以二进制写入模式打开文件;
3. 从要复制的图片中读取数据,可以使用`fread`函数;
4. 将读取到的数据写入新文件中,可以使用`fwrite`函数;
5. 重复第3步和第4步,直到读取完整个文件;
6. 关闭两个文件。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp_src, *fp_dst;
char *file_src = "source.jpg";
char *file_dst = "copy.jpg";
char buffer[1024];
size_t n;
// 打开要复制的图片
fp_src = fopen(file_src, "rb");
if (fp_src == NULL) {
printf("Failed to open file %s\n", file_src);
return 1;
}
// 创建新文件
fp_dst = fopen(file_dst, "wb");
if (fp_dst == NULL) {
printf("Failed to create file %s\n", file_dst);
fclose(fp_src);
return 1;
}
// 读取并写入数据
while ((n = fread(buffer, 1, sizeof(buffer), fp_src)) > 0) {
if (fwrite(buffer, 1, n, fp_dst) != n) {
printf("Failed to write to file %s\n", file_dst);
fclose(fp_src);
fclose(fp_dst);
return 1;
}
}
// 关闭文件
fclose(fp_src);
fclose(fp_dst);
printf("File copied successfully!\n");
return 0;
}
```
注意,这只是一个简单的示例代码,实际应用中需要考虑更多的异常情况和错误处理。
阅读全文