Textdatei einlesen



  • Hi

    Ich habe schon lange gegoogelt und bin bisher zu keiner eindeutigen Lösung und Beantwortung meiner Fragen gekommen.

    Ich will in C++ eine Textdatei einlesen, also in ein Char-Array speichern.

    char path[] = {"test.txt"};
    
    int file_descriptor;
    file_descriptor = open(path, O_DIRECT |O_RDONLY);
    

    Das hab ich bisher zu Stande gebracht. Aber wo ist der Inhalt der text Datei dann gespeichert? und wie lese ich sie aus? UND: wo muss test.txt überhaupt liegen damit er sie findet?

    Ich würde mich über hilfreiche Antworten freuen 🙂

    MfG,
    Timbo



  • Gibts einen Grund, warum du Dateien mit plattformabhängigen Funktionen wie open() öffnest, statt die Standardbibliothek zu verwenden?

    Wenn du die Datei öffnest, ist noch nichts gelesen, das musst du separat tun.

    std::ifstream file("test.txt");
    // jetzt einlesen, z.B. mit >> oder getline()
    

    Schau vielleicht mal hier nach, Abschnitt "File I/O".



  • Danke für die Hilfe.

    Ja gibt es, wir müssen in der FH nen Compiler programmieren unter Linux und dürfen nichts aus der Standardbibliothek benutzen.
    Kannst du mir weiterhelfen wie das mit der open Methode und den Flags so wie ichs angedeutet hab geht? Und wo muss denn die txt Datei gespeichert sein?
    Danke schonmal.

    MfG


  • Mod

    ForumUser schrieb:

    Kannst du mir weiterhelfen wie das mit der open Methode und den Flags so wie ichs angedeutet hab geht?

    Das ist aber weder eine Methode, noch ist das aus der Standardbibliothek. Das ist eine Funktion aus der POSIX System-API.

    Und wo muss denn die txt Datei gespeichert sein?

    http://en.wikipedia.org/wiki/Path_%28computing%29



  • Ok, dann keine Methode.

    Sag ich ja, wir dürfen nichts aus der Standardbibliothek benutzen, daherwill ich auch die open-Funktion nutzen.


  • Mod

    ForumUser schrieb:

    Sag ich ja, wir dürfen nichts aus der Standardbibliothek benutzen, daherwill ich auch die open-Funktion nutzen.

    Das kann ich irgendwie nicht glauben, dass du das wirklich richtig verstanden hast. Wo sollte denn der große Unterschied sein, ob man nun Bibliothek A oder Bibliothek B benutzt? Entweder ganz oder gar nicht.

    Wie lautet denn die genaue Aufgabenstellung und wie habt ihr bisher Ein- und Ausgabe gemacht? Damit meine ich sowohl Ein- und Ausgabe von Dateien, als auch die Standard-ein/ausgabe (also das was du wahrscheinlich als Tastatur und Konsole bezeichnen würdest).


Anmelden zum Antworten