Linux C语言 保存二进制图片
时间: 2023-12-04 07:01:45 浏览: 211
在 Linux C 语言中,保存二进制图片可以通过以下步骤实现:
1. 打开图片文件,读取二进制数据。
2. 创建一个新的二进制文件,将读取到的数据写入其中。
下面是一个简单的示例代码,用于保存二进制图片:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *in_file, *out_file;
char *filename = "image.png";
char *out_filename = "binary_image.dat";
unsigned char buffer[1024];
size_t bytes;
// 打开图片文件
in_file = fopen(filename, "rb");
if (in_file == NULL) {
perror("Error opening file");
return EXIT_FAILURE;
}
// 创建新的二进制文件
out_file = fopen(out_filename, "wb");
if (out_file == NULL) {
perror("Error creating file");
return EXIT_FAILURE;
}
// 读取二进制数据
while ((bytes = fread(buffer, sizeof(unsigned char), 1024, in_file)) > 0) {
fwrite(buffer, sizeof(unsigned char), bytes, out_file);
}
// 关闭文件
fclose(in_file);
fclose(out_file);
return EXIT_SUCCESS;
}
```
在上述代码中,我们使用 `fopen()` 函数打开图片文件,并使用 `"rb"` 模式读取二进制数据。然后,我们使用 `fopen()` 函数创建新的二进制文件,并使用 `"wb"` 模式写入二进制数据。最后,我们使用 `fread()` 函数读取数据,使用 `fwrite()` 函数将数据写入新的二进制文件中。
阅读全文