getchar?



  • kann mir mal jemand erklären für was getchar nun genau steht, was es alles bewirken kann...

    vieln dank

    nuclear



  • getchar() liest ein Zeichen aus dem Eingabestrom "stdin" aus und liefert dieses Zeichen zurück. Sind bereits alle Zeichen ausgelesen, wird EOF zurückgeliefert.



  • stdio.h = stdin?! und was ist EOF und warum brauchts manchmal 2mal getchar()? und für was die klammern 🙄



  • Original erstellt von nuclear:
    **stdio.h = stdin?!
    **

    stdio.h ist ein header und stdin ist ein stream der in stdio definiert ist (stdin ist meistens mit der tastatur verknüpft)

    **
    und was ist EOF
    **

    End Of File. wird dann zurückgegeben wenn nichts mehr zu lesen da ist.

    **
    und warum brauchts manchmal 2mal getchar()?
    **

    kannst du das etwas genauer erläutern was du damit meinst, bitte? (mit xource oder so)

    **
    und für was die klammern 🙄**

    hast du mal pascal programmiert?
    das is ne funktion und da gehören nun mal klammern dran.



  • Original erstellt von nuclear:
    stdio.h = stdin?! und was ist EOF und warum brauchts manchmal 2mal getchar()? und für was die klammern 🙄

    japro hat ja schon einiges geklärt. Deshalb nur noch ergänzend:

    1. EOF wird auch bei Fehlern geliefert. Was genau passiert ist, kann mit feof() & ferror() festgestellt werden.

    2. getchar() liest das nächste Zeichen. Allerdings werden von einigen System (Windows) die Eingabezeichen nicht Zeichenweise, sondern Zeilenweise an Dein Programm übergeben. Also erst nachdem der Benutzer Return gedrückt hat. Das erste getchar() liest i.d.R ein im Eingabestrom (stdin) verbleibendes '\n', während das zweite getchar() meist dafür verwendet wird, auf ENTER zu warten.

    Einige "Experten" werden Dir Lösungen wie fflush(stdin); präsentieren, was aber lt. Standard falsch (genauer: undefiniert) ist.

    Wenn Du willst, erklär' ich Dir die Sache gerne nochmal mit Beispielcodes ....


Anmelden zum Antworten