Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
gets()

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
thomas
Gast





BeitragVerfasst am: 20. Jul 2000 21:23   Titel: gets()

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!
 

wolfgang
Gast





BeitragVerfasst am: 21. Jul 2000 0:13   Titel: 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
 

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 21. Jul 2000 10:06   Titel: 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
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy