cin.get(buf,n)



  • hallo,
    mit dem Befehl kann ich ja in einen Buffer einlesen. Nun habe ich gelesen, dass da das Zeilenende Zeichen im Strom verbleibt. Was heißt das Konkret?


  • Mod

    Angenommen im Stream steht folgendes:

    Erste Zeile\nZweite Zeile\n
    

    wobei \n für das newline Zeichen steht.

    Dann steht nach get(buf,5) dies im Stream:

    e Zeile\nZweite Zeile\n
    

    Weil 4 Zeichen gelesen wurden, ohne dass newline oder das Streamende erreicht wurden.

    Führt man daraufhin get(buf,25) aus, steht dies im Stream:

    \nZweite Zeile\n
    

    Weil get beim newline Zeichen endet, wurden weniger als 24 Zeichen gelesen. Deine Frage bezieht sich darauf, dass der Stream nun mit \n beginnt und nicht mit dem 'Z' aus 'Zweite Zeile'. Dies ist eventuell bei der nächsten Leseaktion wichtig.


Anmelden zum Antworten