Mein Problem ist, dass ich versuche, Daten aus einer TXT-Datei, die voll von Zahlen und Kommentare und in jeder Zeile in einem Zeichenfolge Vektor gespeichert lesen, aber meine Getline-Funktion nicht mehr lesen beim ersten Leerzeichen so ein Kommentar wie (* Kommentar *) wird aufgebrochen inC++: Getline stoppt beim Lesen von Whitespace
str[0] = "(*";
str[1] = "comment";
str[2] = "*)";
Dies ist, was mein Codeblock für die getline Funktion wie folgt aussieht:
int main() {
string line;
string fileName;
cout << "Enter the name of the file to be read: ";
cin >> fileName;
ifstream inFile{fileName};
istream_iterator<string> infile_begin {inFile};
istream_iterator<string> eof{};
vector<string> data {infile_begin, eof};
while (getline(inFile, line))
{
data.push_back(line);
}
Und das ist, was die. txt-Datei sieht wie folgt aus:
101481
10974
1013
(* comment *) 0
28292
35040
35372
0000
7155
7284
96110
26175
Ich kann nicht herausfinden, warum es nicht die ganze Zeile liest.
Wow. Vielen Dank, es ist kein Wunder, dass ich weggeworfen wurde - das war das Beispiel, das mir mein Ausbilder gesagt hat, während er uns auch befahl, getline zu benutzen. Ziemlich neu in C++, also hätte ich das nie verstanden, haha. –