c++ 读取图片文件到char
时间: 2024-06-13 17:07:45 浏览: 9
以下是两种C++读取图片文件到char的例子:
1.使用fread()函数读取图片文件到char数组中:
```c++
#include <stdio.h>
using namespace std;
int main(){
FILE *in;
// 1. 打开图片文件
int = fopen(path, "rb");
// 或者使用以下方式打开文件
// ifstream is("test.jpg", ifstream::in | ios::binary);
// 2. 计算图片长度
fseek(in, 0L, SEEK_END);
int len = ftell(in);
fseek(in, 0L, SEEK_SET);
// 3. 创建内存缓存区
char * buffer = new char[length];
// 4. 读取图片
fread(buffer, sizeof(char), len, in);
fclose(in);
// 到此,图片已经成功的被读取到内存(buffer)中
delete [] buffer;
return 0;
}
```
2.使用ifstream类读取图片文件到char数组中:
```c++
#include <fstream> // ifstream, ifstream::in
using namespace std;
int main(){
// 1. 打开图片文件
ifstream is("test.jpg", ifstream::in | ios::binary);
// 2. 计算图片长度
is.seekg(0, is.end); //将文件流指针定位到流的末尾
int length = is.tellg();
is.seekg(0, is.beg); //将文件流指针重新定位到流的开始
// 3. 创建内存缓存区
char * buffer = new char[length];
// 4. 读取图片
is.read(buffer, length);
// 到此,图片已经成功的被读取到内存(buffer)中
delete [] buffer;
return 0;
}
```