Я пишу код для чтения PPM-файла в массив struct pixel_type, содержащий 3 символа unsigned . г, г, и б код, который вызывает проблемы выглядит следующим образом:C - "warning: format"% c "ожидает аргумент типа" char * ", но аргумент 3 имеет тип" int ":?
struct pixel_type pArray[width][height], *pPtr[width][height];
pPtr[width][height] = &pArray[width][height];
for(h = 0; h < height; h++)
{
for(w = 0; w < width; w++)
{
fscanf(in, "%c%c%c", pPtr[w][h]->r, pPtr[w][h]->g, pPtr[w][h]->b);
}
}
При компиляции, я получаю это сообщение для всех 3-х "% с" с:
предупреждение:
format â%câ expects argument of type âchar *â, but argument (3,4, or 5) has type âintâ [-Wformat]
Что было бы лучшим способом для чтения значений пикселей int o массив struct pixel_type?
struct pixel_type
{
unsigned char r;
unsigned char g;
unsigned char b;
};
@Kaz Я могу добавить больше своего кода, если вы хотите. Я не прошу кого-либо кодировать для меня, мне просто нужно знать, как наилучшим образом взять значение каждого пикселя (я считаю, что значения пикселей P6 PPM хранятся в двоичном виде) и преобразовать их в три символа (r, g, b) , Затем я могу использовать эту информацию для написания другого файла PPM. – user2993631
@HighCore Вы правы, извините. Сейчас я хочу изменить его. В следующий раз. – user2993631
@ user2993631 ???? Этот комментарий должен был быть для другого вопроса другим человеком и не применяется здесь. Как это произошло ... Я почти уверен, что был на правильном вопросе, когда я набрал его. Извини за это! – Kaz