Ich arbeite an einer App in QT, und ich bin ein wenig neu in C++ I/O; Ich möchte einige Daten aus einer CSV-Datei lesen, die momentan 2 Spalten und einige Zeilen enthält, zum Beispiel: (1 | 10) (2 | 20) Ich möchte sie nur in einem Array wie diesem speichern (1,10,2, 20); Für einige werden nur Werte aus der zweiten Spalte in meinem Array gespeichert. Hier ist ein Code; Ich habe viele Male überprüft, aber ich kann immer noch nicht sehen, was ich falsch mache:Das Lesen einer CSV-Datei mit der Funktion getline() funktioniert nicht richtig
void readingFiles::openFile(){
ofstream myFile;
myFile.open("/home/Dan/Desktop/mainFile.csv" ,std::ios::app);}
void readingFiles::addReadings(int readings1 , int readings2){
if(myFile.is_open()){
myFile<<readings1<<","<<readings2<<"\r";
myFile.close();
}
}
vector<int> values ;
ifstream iFile;
iFile.open("/home/Dan/Desktop/mainFile.csv");}
string data;
void readingFiles::read(){
for(int i =0; std::getline(iFile,data, ',') ; i++){
values.insert(values.end() , atoi(data.c_str()));
qDebug("vector list is %i" , values[i]);}
}
So ist das Ergebnis, das ich bekomme, dass es die erste Zeile in der ersten Spalte liest, dann zu lesen bewegt aus der zweiten Spalte, und geht nie zurück zu den ersten (1, 10, 20, 30, 40 usw.). Noch einmal, was ich versuche zu bekommen ist (1, 10, 2, 20, 3, 30 usw.).
Ihr Code ist total durcheinander. Am Ende der Zeile "myFile" fehlt ein ';' und Sie haben nicht übereinstimmende '{' Zeichen. Bitte schreiben Sie Code, der tatsächlich kompiliert wird. – Barmar
oh im sorry, das sind Tippfehler, wenn ich diese Frage gestellt habe, mein Hauptcode ist in Ordnung lol ill fix den Beitrag – Dan
Bitte auch ein lesbares Beispiel für die Eingabedatei. – Barmar