Odczyt danych z pliku tekstowego.
Ostatnio zmodyfikowano 2013-03-15 17:21
maze Temat założony przez niniejszego użytkownika |
Odczyt danych z pliku tekstowego. » 2013-03-12 10:09:37 Napisalem juz funkcje ktora zapisuje moje dane do pliku. Sa ta tablice bedace obiektami klasy. ofstream zapis( "dane.txt", ios::trunc ); if( zapis.good() ) { zapis << "{" << Tablica::ilosc << "}" << endl; zapis.close(); for( int i = 0; i < pnt; i++ ) { baza[ i ]->zapisz(); } }
wywolywana metoda klasy void Tablica::zapisz() { ofstream zapis( "dane.txt", ios::app ); if( zapis.good() ) { zapis << "[{n}"; for( int i = 0; i < n; i++ ) zapis << tab[ 0 ] << " "; zapis << "]" << endl; } }
czyli plik wynikowy jest postaci 2[{4}1 2 3 4][{4}5 6 7 8]
pierwsza liczba to ilosc tablic, a dalej w nawiasach sa elementy tablic, i kazda tablica jest poprzedzona swoim rozmiarem w {}; 1) Jak zapiasc, zeby strumien po napotkaniu jakiegos znaku "{" wczytal liczbe za tym znakiem? pewnie banalne, ale nie moge do tego dojsc, jakbyscie mogli poratowac kawalkiem kodu... |
|
pekfos |
» 2013-03-12 11:08:26 Plik w tej formie musisz wczytać w całości, a potem samemu dzielić na liczby. |
|
maze Temat założony przez niniejszego użytkownika |
» 2013-03-12 21:46:58 dzieki za odpowiedz, char file[ 100 ] = { };
ifstream we( "dane.txt", ios::beg ); if( we.good() ) { we.getline( file, 90, '#' ); }
cout << file;
gdzie tu jest blad? getline nie chce nic zapisac do file'a[]. |
|
pekfos |
» 2013-03-12 22:05:02 std::ios::beg to nie jest tryb otwarcia pliku. |
|
maze Temat założony przez niniejszego użytkownika |
» 2013-03-12 22:11:21 bez ios::beg tez nie dziala, istream domyslnie otwiera plik do odczytu, tak wiec w zasadzie nie trzeba podawac konkretnego trybu? sprobowalem z ios::in, ale nic to nie zmienia? |
|
pekfos |
» 2013-03-14 13:15:17 Ścieżka do pliku jest poprawna? |
|
unimator |
» 2013-03-14 13:52:05 Może pierwszy znak we wczytanej tablicy to '\0'. |
|
maze Temat założony przez niniejszego użytkownika |
» 2013-03-15 17:21:51 |
|
« 1 » |