fscanf, czytanie kodu końca linii

0

Witam.
Parsuje plik, który w każdym wierszu zawiera inną liczbę elementów. Operacja wczytywania wygląda tak:

while(fscanf(input,"%d", &a) != EOF)
{
 if (przeczytano_znak_nowej linii) operacje..
}

Problem jest taki, że chciałbym wykrywać kiedy fscanf przechodzi do nowego wiersza (czyli czyta \n) ponieważ, muszę wtedy wykonać pewne operacje.
Jak można to sprawnie załatwić, bo problem nie wydaje się trudny..

Dodam tylko, że w grę nie wchodzi edycja pliku, ponieważ jest duży.
Chciałbym również pozostać przy scanfie , ponieważ on za mnie parsuje stringa i wczytuje do inta. Wiem, że można wczytywać np. getline całą linijkę, ale potem trzeba to przetwarzać samemu...

1
int ch,new_row;

while(fscanf(input,"%d",&a)==1)
  {
   new_row=0;
   while(true)
     {
      ch=fgetc(input);
      if(ch=='\n') new_row=1;
      else if(ch==EOF) break;
      else if((ch!=' ')&&(ch!='\t')&&(ch!='\r'))
        {
         ungetc(ch,input);
         break;
        }
      if(new_row) { /*był nowy wiersz*/ }
     }
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1