[C++] Pobieranie tablicy dwuwymiarowej z pliku


(Eklocek) #1

Cześć,

zmagam się z dość dziwnym (bynajmniej dla mnie) problemem. Otóż zapisuję dane z tablicy do pliku tekstowego przy użyciu strumienia i tak samo je pobieram. Niestety po poprawnym zapisaniu danych, odczyt nie jest prawidłowy. Zamiast całkowitych liczb od 0 do 9, program wyświetla mi dziwne, wielkie liczby, np. 8658912 itp.

Część programu odpowiedzialna za zapis i odczyt wygląda tak:

fstream file("test.txt", ios::in | ios::out);


 //Zapisanie tablicy do pliku

        for(int y=0; y<12; y++) {

            for(int x=0; x<12; x++) {

                file << ElTAB[y][x] << endl;

            }

        }


        //Pobranie danych z pliku do tablicy

        for(int y=0; y<12; y++) {

            for(int x=0; x<12; x++) {

                file >> TestTAB[y][x];

            }

        }

file.close();

I co ciekawe - działa, ale bez uprzedniego zapisania do pliku danych z tablicy. Czyli jeżeli zapiszę tablicę do pliku i ją jednocześnie odczytam, to wyświetla "krzaki". Jeżeli jednak odczytam sam plik, to dane wyjściowe są poprawne.

EDIT: Problem rozwiązany: po zapisaniu danych do pliku, musiałem go zamknąć i ponownie otworzyć :wink: