datei einlesen fehler akt_verz CXX0017: Error: symbol "akt_verz" not found



  • Hallo,
    sorry es geht wie so oft um das datei einlesen. Aber ich finde im netz einfach nicht die lösung 😞

    ich habe folgenden code:
    [cpp]
    #include "stdafx.h"
    #include <iostream>
    #include <stdlib.h>
    #include <windows.h>
    #include <string>
    #include <fstream>
    using namespace std;

    int _tmain(int argc, _TCHAR* argv[])
    {
    char buffer[1024];
    ifstream fin("text.txt");

    cout << "Hier der Inhalt der Datei:\n"<<endl;
    while(!fin.eof())
    {
    fin.getline(buffer,1024);
    cout <<buffer<<endl;
    }
    cout <<"Ende der Ausgabe\n"<<endl;
    fin.close();

    getchar();
    return 0;
    }
    [code]
    und er liest einfach nichts ein.

    im visual studio kommt dann folgender hinweis
    akt_verz CXX0017: Error: symbol "akt_verz" not found

    kann mir jemand helfen wie ich in dem aktuellen verzeichnis die datei öffne
    oder wie ich das verzeichnis gar wählen kann?
    danke



  • Im Visual Studio ist das aktuelle Verzeichnis standardmäßig dort, wo deine Projektdatei (*.vcproj) liegt.
    In den Projekteigenschaften kannst du dieses aber ändern (Debugging/Arbeitsverzeichnis).



  • // #include "stdafx.h"
    #include <iostream>
    #include <stdlib.h>
    // #include <windows.h> wofür?
     #include <string>
    #include <fstream>
    using namespace std;
    
    int /*_t*/main() // muss schon #include <tchar.h> dazu damit das gehen würde ...
    {
        char buffer[1024]; // warum legst de die Variable hier schon an? Warum nimmst du nicht direkt nen std::string?
        ifstream fin("text.txt");
    
        // Was ist denn wenn der die Datei garnicht öffnen kann?
        cout << "Hier der Inhalt der Datei:\n"<<endl; // Du weißt das std::endl  automatisch nen Newline mit in den Stream schickt?
        while(!fin.eof()) // dumme idee ... guck doch einfach ob getline erfolg hatte ...
        {
            fin.getline(buffer,1024); // warum nicht einfach std::string dann hast du auch keine maximale Zeilenlänge nötig ...
            cout <<buffer<<endl;
        }
        cout <<"Ende der Ausgabe\n"<<endl; // Auch hier packt std::endl nen Newline mit in den Stream ...
        fin.close();
    
        getchar(); // naja ... über die func. lässt sich streiten ...
    }
    

    ...


Anmelden zum Antworten