Benutzer mit den meisten Antworten
CSV-Datei einlesen

Frage
-
Hallo,
ich möchte mit Visual Studio 2017 eine CSV-Datei einlesen und in einem anderen Format wieder herausschreiben. Ich habe ein Beispiel gefunden und ausprobiert, jedoch macht er bei einigen Befehlen beim Kompilieren Fehlermeldungen.
ifstream : nicht deklarierter Bezeichner
csvread: nicht deklarierter Bezeichner
.open: müssen sich in einer Klasse/Struktur/Union befinden
ios: keine Klasse oder Namespace
string: nichtdeklarierter Bezeichner
cout: nicht deklarierter Bezeichner
Hier ist der Code:
#include <iostream> #include <fstream> #include <string> #include "stdafx.h" using namespace std; int main() { ifstream csvread; csvread.open("test.csv", ios::in); if (csvread) { //Datei bis Ende einlesen und bei ';' strings trennen string s = ""; while (getline(csvread, s, ';')) { cout << s << endl; //alle Strings getrennt ausgeben } csvread.close(); } else { cerr << "Fehler beim Lesen!" << endl; } return 0; }
Muss ich hier im Header etwas einfügen oder woran liegt es?
Gruß
Berni
Antworten
-
Hallo.
Du musst die stdafx.h als erstes einbinden. Dann den Rest.
#include "stdafx.h" #include <iostream> #include <fstream> #include <string> using namespace std; int main() { ifstream csvread; csvread.open("test.csv", ios::in); if (csvread) { //Datei bis Ende einlesen und bei ';' strings trennen string s = ""; while (getline(csvread, s, ';')) { cout << s << endl; //alle Strings getrennt ausgeben } csvread.close(); } else { cerr << "Fehler beim Lesen!" << endl; } return 0; }
Gruß,
Guido
- Als Antwort vorgeschlagen Guido Franzke Donnerstag, 27. April 2017 14:01
- Als Antwort markiert Stefan FalzModerator Donnerstag, 27. April 2017 14:03
Alle Antworten
-
Hallo.
Du musst die stdafx.h als erstes einbinden. Dann den Rest.
#include "stdafx.h" #include <iostream> #include <fstream> #include <string> using namespace std; int main() { ifstream csvread; csvread.open("test.csv", ios::in); if (csvread) { //Datei bis Ende einlesen und bei ';' strings trennen string s = ""; while (getline(csvread, s, ';')) { cout << s << endl; //alle Strings getrennt ausgeben } csvread.close(); } else { cerr << "Fehler beim Lesen!" << endl; } return 0; }
Gruß,
Guido
- Als Antwort vorgeschlagen Guido Franzke Donnerstag, 27. April 2017 14:01
- Als Antwort markiert Stefan FalzModerator Donnerstag, 27. April 2017 14:03
-
Bitte markiere in deinen beiden Postings die Lösung mit "als Antwort markieren". Spätere User werden dir dankbar sein.
Danke, Guido
- Als Antwort markiert Berni2010 Donnerstag, 27. April 2017 13:58
- Tag als Antwort aufgehoben Stefan FalzModerator Donnerstag, 27. April 2017 14:03
-
Das ist leider nicht die Lösung zu deiner Frage.
Die Lösung wäre die Antwort von mir, wo die Hilfe drin steht mit dem Quellcode (siehe als Antwort vorgeschlagen).
Gruß, Guido
- Bearbeitet Guido Franzke Donnerstag, 27. April 2017 14:02