nietypowe zachowanie aplikacji, getline błędnie czyta dane ?

0

Witam Was ponownie,

Spotkałem się z dość dziwnym zachowaniem aplikacji.

Mam plik, który w liniach zawiera same zera lub jedynki. każda linia to tylko jedna cyfra (0 lub 1) Odczytuję go i wrzucam do vectora.

        ifstream czytanie("plik");
        string linia;
        int wsk = 0;
        while(getline(czytanie,linia))
        {
                ShowMessage(wsk);
                BazaPytan[wsk].zaznacz = StrToInt(linia.c_str());
                wsk++;
        }

ShowMessage wskazuje, że przy 28 przejściu przez pętlę zmienna "linia" ma pusty znak.

Może mi podpowiecie skąd ten problem, ja tego nie do końca rozumiem skoro pierwsze 27 linii jest dobrze odczytywanych to dlaczego na 28 linii taki problem ?

Plik stworzyłem poprzez kopiowanie liczb z kolumny excela do notatnika, sądziłem że coś na 28 linii się nie zgadza, więc zrobiłem taki zapis:

    fstream plik( "plik", ios::out );
    if( plik.good() )
    {
        for( int i = 1; i <= 1000; i++ )
        {
            plik << "0"<<endl;
            plik.flush();
        }
        plik.close();
    }
}

Niestety, również ten sam problem.

0

ifstream czytanie("plik");
for(int z;czytanie>>z;) BazaPytan[wsk].zaznacz=z;

0

Znalazłem problem, przez niedopatrzenie funkcję odczytującą "plik" wrzuciłem do innej pętli, gdzie również w pętli odczytywało dane z pliku innego. Jedna klamra za wysoko. Błąd niby prosty, ale zmęczenie robi swoje - od rana pracuję.

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