Witam, mój problem polega na tym, że nie mam pojęcia jak dobrze zdefiniować długość linii komentarza. Gdy definiuje więcej niż jest w pliku pgm, to "wciąga" mi również szerokość tego obrazu. Program działa prawidłowo dopiero gdy długość deklaruję na bardzo podobną długości komentarza. Czy ktoś wie na czym polega problem?
#define DL_LINII 60 // tutaj muszę zmieniać liczbę
#include <stdio.h>
#include <stdlib.h>
typedef struct Obraz
{
int szerokosc;
int wysokosc;
int odcienie;
int **obraz;
}Obraz;
void wczytajObraz(Obraz *o)
{
char buf[5];
char s[DL_LINII];
int i,j,koniec=0,znak;
FILE *plik;
plik=fopen("nazwa.pgm","r");
if(plik)
{
do
{
fscanf(plik,"%s",buf);
fscanf(plik,"%d %d",&o->szerokosc,&o->wysokosc);
fscanf(plik,"%d",&o->odcienie);
if ((znak=fgetc(plik))=='#')
{
if (fgets(s,DL_LINII,plik)==NULL) koniec=1;
} else
{
ungetc(znak,plik);
}