Kod odczytuje z pliku te same dane, a nie z linii poniżej

0
getline(file,temp1,';');
  istringstream iss(temp1);
  getline(iss,temp2,' ');
  getline(iss,temp2,';');    
  cout<<temp2;
  getline(file,temp1,';');
  getline(iss,temp2,' ');
  getline(iss,temp2,';');
    cout<<temp2;

dlaczego cały czas odczytuje mi te same dane a nie z lini poniżej?

0

Musisz to zrobić w pętli, np. do wczytania 2 pierwszych wierszy:

for(int i = 0; i < 2; i++)
{
    getline(file, temp);
    cout << temp << endl;
}
0

możesz też użyć:

while(!file.eof())
{
        getline(file,temp1,';');
        istringstream iss(temp1);
        getline(iss,temp2,' ');
        getline(iss,temp2,';');
        cout<<temp2<<endl;
}
1

Z tym, że eof() może nie zadziałać właściwie, gdy plik będzie zakończony znakiem nowej linii. Lepiej wrzucić odczyt linii do warunku pętli

 while(getline(file,temp1,';')) {
;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1