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).