如何在B ++中将bmp移动到数组中

时间:2013-10-22 07:34:14

标签: c++

首先,我是c / c ++的新手,可能回答我的问题对你来说非常简单。

我必须将数据从单色.bmp(扫描的2D元素形状)移动到bool数组(0-白色,1 - 黑色)。 我觉得这很糟糕: Converting 1-bit bmp file to array in C/C++

我必须做同样的事情,但这段代码是我的C,我需要在C ++中这样做,所以我必须改变它,以便它可以在C ++中工作? (我正在使用VSexpress 2010)

编辑1: 这个bmp是144x320像素

编辑2:我看到你甚至不看代码,指针有问题 错误C2440:'初始化' :无法转换为' void *' to' unsigned char ' 1 GT;转换为' void '指向非 - ' void'需要一个明确的演员 它符合:unsigned char * img = malloc(w * h),* data = malloc(fileSize);

2 个答案:

答案 0 :(得分:0)

我认为C代码主要使用C ++而不做任何修改,考虑到使用的函数非常常见。您可以更改文件操作以使用fstream,但使用fopen和C函数也可以正常工作。

答案 1 :(得分:0)

您链接到的C代码应该像C ++一样工作 - 后者是前者的超集。您当然可以将C代码迁移到C ++习语(使用STL等),但我建议不要使用它。

但请注意,如果所述代码无法编译,可能是因为您的C ++编译器要求高标准的尊重,所以(参见here why)“#include< stdio.h>”应替换为“#include< cstdio>”,“#include< string.h>”通过“#include< cstring>”,“#include< memory.h>”通过“#include< cstdlib>”。