gets()
-
Hallo, ich benutze in meinem Programm die Funktion gets(). Der Compiler liefert keine Fehlermeldung, jedoch kommt mitten im Programm die Warnung
"warning: this program uses gets(), which is unsafe.".
Alles läuft weiter, es kommt eben diese Warnung, welche ziemlich stört.Kann ich die ausblenden?
-
Ja: Nutze nicht gets(). Die Warnung ist absolut berechtigt. Alternative wäre z.B. fgets()
-
Wie verwende ich fgets()? Und warum kein gets()?
-
gets() überprüft nicht, wie viele Zeichen eingelesen werden.
Wenn du mehr Zeichen eingibst, als Platz ist, wird in anderen Speicher geschrieben. Somit kann man das Programm "hacken".
fgets(string, size, stdin);
Achtung, das '\n' am Ende der Eingabe landet noch in string.
-
ok danke