Ich habe ein einfaches Programm, das den Preis für die verkauften Artikel berechnet. Und speichert die Informationen in einer a-Datei. Ich versuche, aus dieser Datei zu lesen, die eine Zeichenfolge und Ganzzahlen enthält. Was ist eine gute Möglichkeit, bis zum Ende der Datei zu lesen? Ich verwende derzeit die EOF-Funktion, funktioniert aber nicht richtig. Es wiederholt die letzten zwei Zeilen.Proper Weg bis zum Ende der Datei zu lesen, wenn mehrere Datentypen C++
void viewTransactions();
void viewTransactions()
{
string productName,;
int quantity, totalPrice;
ifstream infile;
infile.open ("transactions.txt");
while(!infile.eof())
{
getline(infile, productName);
infile >> quantity;
infile >> totalPrice;
infile.ignore(100, '\n');
cout << productName << endl;
cout << quantity << endl;
cout << totalPrice << endl;
}
}
"transactions.txt" enthält:
Product
1
5
Product
2
10
Product
3
15
Console Output File Wenn Read:
Product
1
5
Product
2
10
Product
3
15
3
15
Können Sie bitte eine Beispieltextdatei zur Verfügung stellen? Ich meine 2-3 Zeilen der "transactions.txt". – gsamaras
@gsamaras Ich habe eingefügt, was Sie gefragt haben, können Sie einen Blick plz. –
Danke Hugo. Sie haben einen klassischen Fehler gemacht, also habe ich Ihre Frage zum kanonischen Link gestellt. Darüber hinaus hat @BasileStarynkevitch bereits einen Workaround vorgeschlagen (ich habe es nicht überprüft), so dass meine Arbeit hier erledigt ist. Viel Glück! =) – gsamaras