我正在创建各种尺寸从100x100到2000x2000元素的2D数组。阵列中的值可以被限制为0 - 255灰度级,然后需要写入PGM图像以便可视地表示数据。
例如,我将数组全局声明为:
element case1[100][100];
元素是double pixelValue
的结构和布尔值(在实际写入文件时不会使用,但在程序中是必需的)。
在写入PGM图像时,在写入标题后,我在考虑代码区域FILE *fp
时遇到错误:
int *p
for (int x = 0; x < dimension; x++)
{
for (int y = 0; y < dimension; y++)
{ //also doesn't work as: fp << (unsigned char)case1[x][y].pix;
int pix = case1[x][y].pixelValue;
*p = pix;
fp << (unsigned char)*p;
}
}
fclose(fp);
我不确定如何使用指针以便从2D阵列中的每个位置获取pixelValue
。我需要能够遍历每个pixelValue
以获得数据的可视化表示。
感谢您的帮助!
答案 0 :(得分:0)
使用fputc()
代替我,以便我可以直接插入值而不是使用指针。