gcc gibt beim Compilieren eines C-Programmes, welches die gets()-Funktion verwendet, folgende Warnung aus:
the 'gets' function is dangerous and should not be used.
Doch was gibt es für Alternativen? Ausser der scanf()-Funktion, welche nur Strings ohne Space, Newline und Form-Feed lesen kann. Und warum ist es gefährlich die gets()-Funktion zu benutzen?
Vielen Dank für Eure Hilfe!
gets()
Re: gets()
Hi!
gets() prüft nicht die Länge des Puffers, so dass es bei zu langer Eingabe zu einem Segmentation fault kommen kann. So eine unsichere Funktion sollte man generell nicht verwenden. Ich habe vor Kurzem einen Artikel geschrieben, der sich mit dem Thema Eingabe befasst, zu finden unter
www.pro-linux.de/t_system/readline.html
Viele Grüße
Wolfgang // Pro-Linux-Team
gets() prüft nicht die Länge des Puffers, so dass es bei zu langer Eingabe zu einem Segmentation fault kommen kann. So eine unsichere Funktion sollte man generell nicht verwenden. Ich habe vor Kurzem einen Artikel geschrieben, der sich mit dem Thema Eingabe befasst, zu finden unter
www.pro-linux.de/t_system/readline.html
Viele Grüße
Wolfgang // Pro-Linux-Team
Re: gets()
Hi,
fgets() ist eine akzeptable Alternative. readline ist nur für interaktive Benutzung, während 99% aller Verwendungen von fgets nicht-interaktiv sind (Lesen aus einer Datei, wie der Name schon sagt).
Gruß,
hjb
fgets() ist eine akzeptable Alternative. readline ist nur für interaktive Benutzung, während 99% aller Verwendungen von fgets nicht-interaktiv sind (Lesen aus einer Datei, wie der Name schon sagt).
Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?