Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Odczyt danych z pliku tekstowego.

Ostatnio zmodyfikowano 2013-03-15 17:21
Autor Wiadomość
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.

C/C++
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

C/C++
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...


P-78145
pekfos
» 2013-03-12 11:08:26
Plik w tej formie musisz wczytać w całości, a potem samemu dzielić na liczby.
P-78147
maze
Temat założony przez niniejszego użytkownika
» 2013-03-12 21:46:58
dzieki za odpowiedz,

C/C++
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[].
P-78178
pekfos
» 2013-03-12 22:05:02
std::ios::beg
 to nie jest tryb otwarcia pliku.
P-78179
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?
P-78180
pekfos
» 2013-03-14 13:15:17
Ścieżka do pliku jest poprawna?
P-78301
unimator
» 2013-03-14 13:52:05
Może pierwszy znak we wczytanej tablicy to '\0'.
P-78302
maze
Temat założony przez niniejszego użytkownika
» 2013-03-15 17:21:51
Zapisywanie zawartosci klasy w trybie tekstowym to byl poprostu glupi pomysl,
dla potomnych zostawiam link do tutorialu z obslugi plikow, wyjasnia co potrzeba:

http://www.daniweb.com/software-development/cpp/threads/6542/fstream-tutorial
P-78442
« 1 »
  Strona 1 z 1