Frage zu C von A-Z



  • Hallo, ich lese im Moment C von A-Z und habe eine Frage:
    der Autor schreibt, dass man scanf und printf grundsätzlich nicht verwenden
    sollte, da es keine Längenprüfung gibt. Aber so weit ich weiß, kann man doch mit:

    scanf("%100s",string);
    

    die Eingabe auf 100 Zeichen beschränken?
    Und er schreibt man sollte besser scanf_f verwenden, meint er scanf_s?



  • Der Autor ist ein Pfuscher.
    Lies das Buch nicht weiter.

    Die Längenbegrenzung von dir ist möglich und sinnvoll, aber korrekt wäre

    char string[100];
    scanf("%99s",string);
    

    scanf_f gibts überhaupt nicht, scanf_s ist erst ab C11 (oder nichtportabel als MS-Extension verfügbar) und benötigt einen zusätzlichen Parameter (lohnt sich nur bei dynamischen Stringlängen).


Anmelden zum Antworten