ÜBERSICHT
#include <stdio.h>
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 abschließender Zeilenvorschub oder EOF auftritt, welche durch ein Null-Byte ('\0') ersetzt werden. Es wird keine Prüfung auf Pufferüberlauf durchgeführt (siehe FEHLER unten).
RÜCKGABEWERT
gets() gibt bei Erfolg s zurück und NULL im Fehlerfall oder wenn das Dateiende auftritt, ohne dass Zeichen gelesen wurden. Dennoch kann angesichts der fehlenden Überprüfung auf Speicherüberläufe keine Garantie gegeben werden, dass die Funktion überhaupt etwas zurückgibt.ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.Schnittstelle | Attribut | Wert |
gets() | Multithread-Fähigkeit | MT-Safe |
KONFORM ZU
C89, C99, 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 über das Ende des Puffers hinaus zu speichern, ist die Nutzung dieser Funktion sehr gefährlich. 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
KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <[email protected]>, Martin Eberhard Schauer <[email protected]> und Mario Blättermann <[email protected]> erstellt.Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.