Wczytywanie z pliku do tablicy struktur.
Ostatnio zmodyfikowano 2017-08-30 15:17
gromko12 Temat założony przez niniejszego użytkownika |
Wczytywanie z pliku do tablicy struktur. » 2017-08-30 15:02:40 Witam, mógłby ktoś mnie naprowadzić dlaczego podany kod nie wczytuje danych z pliku? Z góry dziękuje za pomoc. ;) void zadanie9() { struct sponsors { string name; double donate; }; fstream inFile; string nazwa, liczenie; cout << "Podaj nazwe pliku wraz z rozszerzeniem: "; cin >> nazwa; inFile.open( nazwa ); if( !inFile.is_open() ) cout << "Blad wczytywania pliku"; int x = 0; while( getline( inFile, liczenie ) ) x++; sponsors * tab = new sponsors[ x / 2 ]; for( int i = 0; i < x / 2; i++ ) { getline( inFile, tab[ i ].name ); inFile >> tab[ i ].donate; } cout << tab[ 0 ].name; [ \c pp ] |
|
maly7 |
» 2017-08-30 15:17:37 while( getline( inFile, liczenie ) ) Ta pętla wczytuje Ci cały plik, więc przy późniejszym wywołaniu funkcji getline w pliku już nic nie ma (kursor znajduje się na końcu). Przed kolejnym odczytem wyczyść flage końca pliku (inFile.clear()) oraz umieść kursor na początku pliku (inFile.seekg(0)). Dodatkowo po wczytaniu double poprzez "inFile >> ..." pozostanie znak nowej linii, możesz użyć metody ignore do pozbycia się go. |
|
« 1 » |