Ich bin derzeit in einer C++ - Datenstrukturen-Klasse und ich bin extrem neu in C++. Mein Ziel ist es, Zeilen aus einer Datei zu lesen und in einer Struktur zu speichern. Die Zeilen enthalten Elemente eines Buches. Mein Problem ist, dass einige Zeilen Leerzeichen haben, und ich bin mir nicht sicher, wie man sie richtig in eine Struktur einliest. Ich kann nicht scheinen, getline()
richtig zu verwenden, um die Linien in jedes Element der Struktur zu lesen. Wenn ich es so laufe, bekomme ich die Nachricht error: expected primary expression before 'infile'
. Entschuldigung, wenn dieser Post nicht korrekt formatiert ist, ist dies auch mein erster Stack-Overflow-Post! Irgendeine Hilfe?? DieseVerwenden von getline(), um Eingabe (mit Leerzeichen) aus Datei in eine Struktur zu lesen
ist, was meine Struktur wie folgt aussieht:
typedef struct book {
char title[100];
char author[100];
char publisher[100];
float price;
char isbn[100];
int pages;
int copies;
} Book;
Und das ist, wie ich versuche, Zeilen in die Struktur zu lesen:
for (int i=0; i < currentIndex; i++) {
getline(ifstream infile, my_book[i].title);
getline(ifstream infile, my_book[i].author);
getline(ifstream infile, my_book[i].publisher);
getline(ifstream infile, my_book[i].price);
getline(ifstream infile, my_book[i].isbn);
getline(ifstream infile, my_book[i].pages);
getline(ifstream infile, my_book[i].copies);
currentIndex++;
}
Die Textdatei haben wird als solche Buchinformationen aufgelistet :
Magician: Apprentice
Raymond E. Feist
Spectra (January 1, 1994)
5.02
0553564943
512
1
das Wort entfernen 'ifstream' infront' infile'. – kfsone
ist es eine schlechte Übung, dies zu tun. schreibe Strukturen in eine Datei und lies Struktur aus Dateien zurück. – Raindrop7
@ Raindrop7 Wer sagt das, und warum eigentlich? Könnten Sie bitte näher darauf eingehen? –