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ć