Datei einlesen in c++ ...



  • Hi!
    Ich hab google und die Suche hier durch aber bin immernoch nicht richtig weiter..
    Ich möchte von meinem c++ programm aus eine Datei einlesen und die Daten anschließend bearbeiten.
    Zum Verständnis reicht eine txt Datei, später möchte ich eine netcdf Datei einlesen.

    Das hab ich dazu gefunden, fand ich gut, es findet meine datei aber nicht.
    Hab ich die datei vielleicht an nem falschen ort gespeichert?
    Sie liegt unter "source" bei den Bibliotheken..(Ich Kompiliere mit xcode)

    Ich mach bestimmt was total blödes falsch.. 😞
    Wär super wenn jemand weiterhelfen könnte!
    Vielen Dank schon mal!
    xx nay.

    #include <iostream>
    #include <fstream>

    using namespace std;

    int main(int argc, char *argv[])
    {
    char filename[128];
    ifstream file;
    char zeile[1024];

    // Dateinamen einlesen
    cout << "Dateinamen eingeben: " << flush;
    cin.getline(filename, 127);

    // Datei öffnen
    file.open(filename, ios::in);

    if (file.good())
    {
    // Wenn die Datei geoeffnet werden konnte...

    // An den Anfang der Datei springen
    file.seekg(0L, ios::beg);

    while (! file.eof())
    {
    // Die Datei zeilenweise auslesen
    file.getline(zeile, 1024);
    cout << zeile << endl;
    }
    }
    else
    {
    // Wenn die Datei nicht geoeffnet werden konnte,
    // aus welchen Gruenden auch immer...
    cout << "Datei nicht gefunden." << endl;
    }
    return 0;

    }

    ps: wie bringt man den dazu die formatierung nich zu killen??
    sorry ich weiß scheiß neulinge...



  • nayna schrieb:

    ps: wie bringt man den dazu die formatierung nich zu killen??
    sorry ich weiß scheiß neulinge...

    Du schließt deinen Code in [cpp ] und [/cpp ] (ohne Leerzeichen) ein.

    EDIT2: Du kannst deinen Beitrag ja editieren und den Code nochmal vernünftig einstellen. 🙂

    EDIT: Gibst du bei der Eingabe einen absoluten Pfad ein? Versuch das mal.



  • Du musst bei den Pfaden beachten das der Pfad immer vom Standort der EXE aus gesehen wird, außer er ist absolut, ein absoluter Pfad wäre eine volle Pfadangabe.



  • Hallo

    Du musst bei den Pfaden beachten das der Pfad immer vom Standort der EXE aus gesehen wird, außer er ist absolut, ein absoluter Pfad wäre eine volle Pfadangabe.

    Falsch, das ist vielleicht bei den Standard IDE's so. Bei Visual Studio aber ist es standardisierter Weise so, dass Grundkonfigurationspfade den Pfad so bestimmen, dass die Executable auf die Dateien zugreift, die in dem "obersten" Projektordner liegen.

    Mfg.
    way



  • way schrieb:

    Hallo

    Du musst bei den Pfaden beachten das der Pfad immer vom Standort der EXE aus gesehen wird, außer er ist absolut, ein absoluter Pfad wäre eine volle Pfadangabe.

    Falsch, das ist vielleicht bei den Standard IDE's so. Bei Visual Studio aber ist es standardisierter Weise so, dass Grundkonfigurationspfade den Pfad so bestimmen, dass die Executable auf die Dateien zugreift, die in dem "obersten" Projektordner liegen.

    Mfg.
    way

    Also entweder wir reden aneinander vorbei oder wir haben verschiedene Visual C++ Compiler, also ich rede von den Pfaden zu Dateien die man öffnen will. Und bei mir funktioniert es so, und war auch nie anders, das wenn ich eine datei angebe ohne absoluten Pfad das die dann vom Standort der Exe aus gesehen wurden. dh wenn ich "test.txt" angebe wird auch die text.txt aus dem ordner der exe geladen und nicht aus einem übergeordneten Ordner.



  • Hallo

    Anscheinend hast du meinen Beitrag nicht aufmerksam durchgelesen. Wie gesagt ist es bei den standardisierten VS's so. Es heisst nicht, dass es automatisch bei jedem so seien muss.

    Mfg.
    way



  • Achso dann hab ich dich falsch verstanden der Post suggerierte das VC nicht diesem Standard entspricht. Sorry für das Missverständniss.


Log in to reply