繁体   English   中英

如何在C ++中将bmp移到数组中

[英]how to move bmp into array in C++

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

我必须将数据从单色.bmp(扫描为2D形状的元素)移动到bool数组(0-白色,1-黑色)。 我发现了这个话题: 在C / C ++中将1位bmp文件转换为数组

并且我必须做同样的事情,但是这段代码是i C,我需要在C ++中执行它,所以我必须如何更改它才能在C ++中工作? (我正在使用VSexpress 2010)

编辑1:此bmp为144x320像素

编辑2:我看不到你甚至看代码,指针错误存在问题C2440:“正在初始化”:无法从“ void *”转换为“ unsigned char ” 1>从“ void转换为指针至non-无效”需要在行中进行显式转换:unsigned char * img = malloc(w * h),* data = malloc(fileSize);

考虑到所使用的功能非常普遍,我认为C代码几乎可以在C ++中正常工作,而无需进行任何修改。 您可以将文件操作更改为使用fstream ,但也可以使用fopen和C函数。

链接到的C代码应该可以在C ++中正常工作-后者是前者的超集。 您当然可以将C代码迁移到C ++习惯用法(使用STL等),但我建议不要这样做。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM