Я читаю в PPM-файле, и я использовал функцию printf во всей функции, чтобы увидеть, будет ли она печататься, но по какой-либо причине она печатает p3/comment/width/height/maxcolor, но она не печатайте пиксели ... Я попытался проверить с помощью операторов printf внутри и снаружи своих вложенных циклов, но он не будет читать данные ... Любые идеи?Не читает в моем изображении
void ReadImages(struct ImageType *imgur, struct ImageType *imgur2)
{
int i=0, j=0;
char filename[30];
char filename2[30];
FILE *inputfile;
fprintf(stdout, "Please enter the filename/location of the first image\n");
fscanf(stdin, "%s", filename);
inputfile = fopen(filename, "r");
fscanf(inputfile,"%[^\n]%c", imgur->ppImage, &imgur->newlinechar);
fscanf(inputfile,"%[^\n]%c", imgur->comment, &imgur->newlinechar);
fscanf(inputfile, "%i %i", &imgur->width, &imgur-height);
fscanf(inputfile, "%i", &imgur->maxColor);
for(i=imgur->height-1; i >= 0; i--)
{
for(j=0; j > imgur->width; j++)
{
fscanf(inputfile, "%i", &imgur->image[i][j].red);
fscanf(inputfile,"%i", &imgur->image[i][j].green);
fscanf(inputfile,"%i", &imgur->image[i][j].blue);
}
}
Да, я убедился, что моя структура является INT красный/зеленый/синий, и я проверил на печать из комментария/maxcolor/и все остальное, что все работает.
'for (j = 0; j> imgur-> width; j ++)' - Это условие неверно. 'j' никогда не будет больше ширины изображения. –
@EdS. И это было ... Я должен был это понять .. Я знал, что это мой цикл, но я думал, что читаю ширину на один меньше, чем на j, когда я делаю прямо противоположное ... Спасибо. –