fread读取图片
时间: 2023-07-18 13:04:01 浏览: 266
图片的读取显示
fread函数可以用来读取二进制文件,包括图片。下面是一个读取图片的例子:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char filename[] = "image.jpg";
int size;
unsigned char *buffer;
// 打开文件
fp = fopen(filename, "rb");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
// 获取文件大小
fseek(fp, 0, SEEK_END);
size = ftell(fp);
rewind(fp);
// 分配内存
buffer = (unsigned char*)malloc(sizeof(unsigned char) * size);
// 读取文件
fread(buffer, sizeof(unsigned char), size, fp);
// 关闭文件
fclose(fp);
// 处理图像数据...
// 释放内存
free(buffer);
return 0;
}
```
这个例子中,我们打开了一个名为 "image.jpg" 的二进制文件,使用 fseek 和 ftell 函数获取了文件大小,然后分配了足够的内存来存储文件内容。接着使用 fread 函数读取文件内容到内存中,最后对图像数据进行处理。注意,如果读取的是图片文件,处理图像数据的方式会有所不同。最后我们释放了分配的内存,并关闭了文件。
阅读全文