c ++ Legge dal file .csv

Ho questo codice che dovrebbe cout in console le informazioni dal file .csv;

while(file.good()) { getline(file, ID, ','); cout << "ID: " << ID << " " ; getline(file, nome, ',') ; cout << "User: " << nome << " " ; getline(file, idade, ',') ; cout << "Idade: " << idade << " " ; getline(file, genero, ' ') ; cout << "Sexo: " << genero<< " " ; } 

E un file csv che ha questo (quando apro con il blocco note):

 0,Filipe,19,M 1,Maria,20,F 2,Walter,60,M 

Ogni volta che eseguo il programma, la console mostrerà questo:

Uscita imprevista

La mia domanda è: perché il programma non ripete quei messaggi coerenti in ogni riga anziché solo nel primo

Btw, nome è name, idade è age, e genero / sexo è gender, dimenticato di tradurre prima di creare questo post