Я создаю различные 2D массивы размером от 100×100 до 2000×2000 элементов. Значения в массивах могут быть ограничены серой шкалой от 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);
Я не уверен, как работать с указателем, чтобы получить pixelValue
из каждого места в массиве 2D. Мне нужно иметь возможность перебирать каждый pixelValue
чтобы получить визуальное представление данных.
Спасибо за помощь!
Используемый fputc()
вместо этого, чтобы я мог напрямую вставлять значения вместо использования указателей.
Других решений пока нет …