none
CSV-Datei einlesen RRS feed

  • 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

     

    Donnerstag, 27. April 2017 13:01

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

    Donnerstag, 27. April 2017 13:25

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

    Donnerstag, 27. April 2017 13:25
  • Hallo Guido,

    das wars wieder - besten Dank.

    Gruß

    Berni

    Donnerstag, 27. April 2017 13:50
  • 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
    Donnerstag, 27. April 2017 13:52
  • 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


    Donnerstag, 27. April 2017 14:01