Mam taki skrypt do czytania danych z pliku, ale mam dziwny problem

...
    {
       QTextStream in(&plikBazy);
       int i=-1;
       int ktory;
       QString wartosc="";
       while ( !in.atEnd() )
       {
          QString linia = in.readLine();
          ktory=0;
          i++;
          if((i+1)%9==0) continue;
          for(int j=0;j<linia.length();j++) {
              if(((linia[j]>=48) && (linia[j]<=57)) || (linia[j]==45)) wartosc+=linia[j];
              else {
                  int liczba=wartosc.toInt();
                  if(liczba==13) liczba=-1;
                  plansze[i/9][i%9][ktory]=liczba;
                  wartosc="";
                  ktory++;
              }
          }
          if(wartosc!="") {
              int liczba=wartosc.toInt();
              if(liczba==13) liczba=-1;
              plansze[i/9][i%9][7]=liczba;
          }
       }
       plikBazy.close();
    }
 

format pliku:

 
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

-1 0 0 0 5 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 10 13
0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 2 0 0 0 0
0 0 0 0 3 0 0 0
0 0 0 0 0 4 0 0

...

Program zawiesza się jeżeli najbardziej wysuniętą na prawo liczbą jest liczba dwucyfrowa, a jeżeli najbardziej wysuniętą na lewo liczbą jest liczba z minusem to czyta jak zero. Poradzi ktoś coś?