file einlesen



  • hallo,

    ich würde gerne ein file einlesen allerdings kann ich nur eine bestimmte konstante anzahl an chars einlesen und nicht dass ganze file.

    programmiert hab ich es nach diesem vorbild:

    http://home.fhtw-berlin.de/~junghans/cref/FUNCTIONS/fgetc.html

    wollte auch nachfragen ob wer einen befehl kennt um ein zeichen an einer stelle zu lesen/schreiben!

    mfg clemens



  • Hallo

    Zunächst einmal bist du hier im C++ Forum, also nimm auch std::fstream (Siehe FAQ, den Thread "Dateien und Ströme").
    Auch wenn du nur einen Teil einer Datei haben willst must du erstmal bis zu dieser Stelle lesen. Es gibt keine allgemeine Funktion "Öffne Datei und lies von x bis y".

    bis bald
    akari



  • wenn du an einer stelle xy schreiben willst, ohne vorher alles durchzulesen, solltest du dir die seek()-funktion anschauen.



  • ehm std::ifstream::read | std::ifstream::seekg ...



  • clemensaaa schrieb:

    ich würde gerne ein file einlesen allerdings kann ich nur eine bestimmte konstante anzahl an chars einlesen und nicht dass ganze file.

    Hallo Clemens,

    wie ist das Format Deiner Datei, kannst Du ein Beispiel geben. Und was davon willst Du lesen und in welche Typ von Variablen (int, string, double) soll das letztendlich landen?

    Einlesen einer Anzahl von Zeichen geht so:

    #include <iostream>
    #include <fstream>
    #include <string>
    
    int main()
    {
        using namespace std;
        ifstream quelle( "input.txt" );
        string str;
        in >> noskipws; // auch Leerzeichen einlesen
        char c;
        for( int n = 0; n < 8 && in >> c; ++n ) // 8 Zeichen lesen
            str += c;
        cout << "gelesen: [" << str << "]" << endl;
    
        return 0;
    }
    

    Gruß
    Werner


Anmelden zum Antworten