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

Wczytywanie z pliku do tablicy struktur.

Ostatnio zmodyfikowano 2017-08-30 15:17
Autor Wiadomość
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. ;)
C/C++
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 ]
P-164392
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.
P-164393
« 1 »
  Strona 1 z 1