gets(3) Library Functions Manual gets(3) BEZEICHNUNG gets - eine Zeichenkette aus der Standardeingabe holen (VERALTET) BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include [[veraltet]] char *gets(char *s); BESCHREIBUNG Benutzen Sie diese Funktion niemals. gets() liest eine Zeile von stdin in den Puffer, auf den s zeigt, bis entweder ein abschliessender Zeilenvorschub oder EOF auftritt, welche durch ein Nullbyte (>>\0<<) ersetzt werden. Es wird keine Prufung auf Pufferuberlauf durchgefuhrt (siehe FEHLER unten). RUCKGABEWERT gets() gibt bei Erfolg s zuruck und NULL im Fehlerfall oder wenn das Dateiende auftritt, ohne dass Zeichen gelesen wurden. Dennoch kann angesichts der fehlenden Uberprufung auf Speicheruberlaufe keine Garantie gegeben werden, dass die Funktion uberhaupt etwas zuruckgibt. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |gets() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ STANDARDS POSIX.1-2008. GESCHICHTE C89, POSIX.1-2001. LSB missbilligt gets(), POSIX.1-2008 markiert gets() als veraltet. ISO C11 entfernt die Spezifikation von gets() aus der Sprache C. Seit Version 2.16 stellen die Header-Dateien der Glibc die Funktionsdeklaration nicht mehr bereit, wenn das Feature-Test-Makro _ISOC11_SOURCE definiert ist. FEHLER Benutzen Sie gets() niemals. Da ohne die vorherige Kenntnis der Daten nicht gesagt werden kann, wie viele Zeichen gets() lesen wird, und da gets() fortfahren wird, Daten uber das Ende des Puffers hinaus zu speichern, ist die Nutzung dieser Funktion sehr gefahrlich. Sie wurde benutzt, um in Rechner einzubrechen. Benutzen Sie stattdessen fgets(). Weitere Informationen finden Sie in CWE-242 (aka >>Use of Inherently Dangerous Function<<) auf http://cwe.mitre.org/data/definitions/242.html SIEHE AUCH read(2), write(2), ferror(3), fgetc(3), fgets(3), fgetwc(3), fgetws(3), fopen(3), fread(3), fseek(3), getline(3), getwchar(3), puts(3), scanf(3), ungetwc(3), unlocked_stdio(3), feature_test_macros(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother , Martin Eberhard Schauer und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 gets(3)