2 goooogle 8 goooogle_8 于 2015.06.09 18:09 提问

关于文件读取。。。。。。。。。

unsigned char* read_bmp_image(std::string filename)
{
bitmap_image image(filename);
unsigned int bytes_per_pixel = image.bytes_per_pixel();
unsigned int width = image.width();
unsigned int height = image.height();
unsigned int size = width*height*bytes_per_pixel;
unsigned char* rgb_buffer = new unsigned char[size];
image.bgr_to_rgb();
memcpy(rgb_buffer,image.data(),size);
return rgb_buffer;
}
以上是定义 ,下面这样使用这个函数可以吗?

char filePath[100];
sprintf(filePath,"C:\Users\Administrator\Desktop\预处理\temp\%d.bmp",a);
unsigned char* testinput1 = read_bmp_image(filePath);

3个回答

oyljerry
oyljerry   Ds   Rxr 2015.06.09 20:17

可以,只不过你需要有地方释放rgb_buffer,这个new出来的,没有地方delete

q3733353520
q3733353520   2015.06.09 20:46

参数是string类型

beacon_2011
beacon_2011   Rxr 2015.06.10 15:31

sprintf(filePath,"C:\Users\Administrator\Desktop\预处理\temp\%d.bmp",a);
这个a是什么啊,在哪定义的啊?

Csdn user default icon
上传中...
上传图片
插入图片