[C++] Odczyt wszystkich znaków z pliku txt
Ostatnio zmodyfikowano 2014-06-14 09:47
Dwunogalek Temat założony przez niniejszego użytkownika |
[C++] Odczyt wszystkich znaków z pliku txt » 2014-06-13 19:06:39 Witam, Mam dwuwymiarową tablicę której elementy bez problemu są zapisywane do pliku txt, niestety pojawił się problem kiedy chcę odczytać te pliki bo dzieje się coś dziwnego, przedstawię na przykładzie: 1) Pracuję na tablicy Tas[20][80] 2) Zapisuję elementy do txt i zamykam program - DZIAŁA 3) Włączam program ponownie i wczytuję tablicę - DZIAŁA 4) Dalej sobie pracuję na tablicy i ponownie zapisuję i wyłączam program 5) Ponownie wczytuję tablicę i.... I coś nie tak bo widać normalnie załadowane elementy z pkt. 1) ale przy okazji porozrzucane widać elementy które modyfikowałem w pkt. 4) a sam plik txt który włączam w notatniku jest pełen porozrzucanych wszędzie element ów tablicy Wydaje mi się że problem tkwi w funkcji odpowiedzialnej za wczytanie tablicy bo sam zapis działa bezbłędnie I jako wskazówkę podam że wina chyba tkwi w spacji - bo bez getline spacja była ignorowana ale samo getline też coś musi babrać potem.... void Zapisz( string Tap[ 23 ][ 80 ] ) { string const nazwaPliku( "kartka.txt" ); ofstream mojStrumien( nazwaPliku.c_str() ); if( mojStrumien ) { for( short int aa = 0; aa < 23; aa++ ) { for( short int bb = 0; bb < 80; bb++ ) mojStrumien << Tap[ aa ][ bb ]; mojStrumien << endl; } } } void Odczyt() { ifstream mojStrumien( "kartka.txt" ); if( mojStrumien ) { for( short int a = 0; a < 23; a++ ) { for( short int b = 0; b < 80; b++ ) getline( mojStrumien, Tas[ a ][ b ] ); } for( short int aa = 0; aa < 23; aa++ ) { for( short int bb = 0; bb < 80; bb++ ) cout << Tas[ aa ][ bb ]; } Tablica( Tas ); } else { cout << "\n\tERROR: Nie wykryto pliku do odczytu." << endl; } } Okej, mówiąc prościej bez całej otoczki: Jak zapisać tablicę dwuwymiarową do pliku txt razem z białymi znakami ( spacja ) ? :-) |
|
michal11 |
» 2014-06-13 23:18:36 plik << tablica[ i ][ j ] << " "; |
|
Dwunogalek Temat założony przez niniejszego użytkownika |
» 2014-06-14 09:47:18 Sorki, o czym innym myślałem i co innego pisałem ;) Jak ODCZYTAĆ tablicę dwuwymiarową wraz z białymi znakami ( spacje -> " " ) EDIT ------------------------------------ Już sobie poradziłem ;P tutaj kod, gdyby ktoś kiedyś miał podobny problem :) for( int a = 0; a < 23; a++ ) { int c = 0; do { getline( plik, Tab[ a ][ c ] ); c++; } while( c < 80 ); }
|
|
« 1 » |