fstream-frage



  • hi leute,

    ich will mittels ifstream eine datei einlesen. Wie kann ich nur teile von zeilen auslesen? Also nicht mit:

    #include <fstream>
    using namespace std;
    
    string buffer;
    
    // var file_ anlegen(ifstream) und laden
    getline(file_, buffer);
    

    wie gesagt ich will nich die ganze zeile sondern meinetwegen nur das erste wort. Wie geht das?

    ciao und danke NwP



  • lies doch die zeile aus und mach auf den string ein substr.
    oder lies die datei zeichenweise ein und füg sie an einen string an bis du hast was du brauchst. Aber a bestn is glaub ich die zeile einzulesen und dann den strink zu verarbeiten



  • NwP schrieb:

    wie gesagt ich will nich die ganze zeile sondern meinetwegen nur das erste wort. Wie geht das?

    Hi, du könntest auch einfach op >> ( wie nennt man den nochmal, net shift-op sondern ? )...

    std::string einWort;
    
    file >> einWort; // op>> lesen bis zum ersten Whitespace-Zeichen
    


  • Freak_Coder schrieb:

    NwP schrieb:

    wie gesagt ich will nich die ganze zeile sondern meinetwegen nur das erste wort. Wie geht das?

    Hi, du könntest auch einfach op >> ( wie nennt man den nochmal, net shift-op sondern ? )...

    Input-Operator (ja, eigentlich ist das ein umgerüsteter Right-Shift ;))

    PS: Eine Alternative hast du noch - du kannst getline() als dritten Parameter das gewünschte "Zeilenende"-Zeichen übergeben. Voreingestellt ist dort '\n', aber niemand hindert dich daran, etwas anderes festzulegen.



  • mit anderen worten: wenn ich davon ausgehe, dass ich irgenwo dort [chunk1]=0x0253d221 finde und ich nur den string "[chunk1]" haben will kann ich als gewünschtes zeilenende "]" eingeben?!

    mfg NwP



  • mit get(), also z.B.
    ifstream fin;
    char c;
    fin.get( c );
    kannst du ein einzelnes zeichen lesen.

    mfg,
    julian


Anmelden zum Antworten