Ich vergleiche zwei Zeichenfolgen in einer CSV-Datei. Da das Ergebnis der syntaktischen Analyse CSV-Datei ist, erhalten Zeilen von Daten durch Kommas getrennt.Warum haben die Ergebnisse beim Vergleich von zwei Strings den letzten übereinstimmenden String verpasst?
Die Codierung funktioniert gut, aber die letzte übereinstimmende Zeile kann nicht angezeigt werden.
CSV-Datei Inhalt:
Title,sn,sn,sn
test,123,344,222
test,123,344,222
test,123,344,222
test,123,344,222
test,456,677,223
test,5,4545,32
apple,23,44,22
apple,323,23,22
zB nur meine Codes, um den Inhalt unter dem fehlt die letzte gefundene Zeile angezeigt,
Title,sn,sn,sn
test,123,344,222
test,123,344,222
test,123,344,222
test,123,344,222
test,456,677,223
statt,
Title,sn,sn,sn
test,123,344,222
test,123,344,222
test,123,344,222
test,123,344,222
test,456,677,223
test,5,4545,32
Codes unten:
int main()
{
string line;
ifstream file("sample.csv");
if(!file)
{
cout << "Error, could not open file." << endl;
return -1;
}
while(getline(file, line))
{
stringstream ss(line);
string line2;
getline(file, line2, ',');
string str = "test";
if(line2 == str)
{
cout << line << endl;
}
}
}
Vielen Dank, @ 10101 =) – John5012