GETS(3) Linux Programmeurs Handleiding GETS(3)

gets - invoer van strings van standaardinvoer (AFGEKEURD)

#include <stdio.h>
char *gets(char *s);

Gebruik deze functie nooit.

gets() leest een regel van stdin in de buffer verwezen naar door s tot óf een afsluitende nieuweregel óf EOF, wat vervangen wordt door een nul byte ('\0'). Geen test op buffer-overloop wordt uitgevoerd (zie BUGS onder).

gets() retourneert s bij slagen, of NULL bij een fout of wanneer einde van bestand optreedt terwijl geen tekens gelezen werden. Hoewel er, door het ontbreken van de controle op buffer overloop, er geen garanties zijn dat de functie überhaupt eindigt.

Voor een uitleg van de termen in deze sectie, zie attributes(7).

Interface Attribuut Waarde
gets() Thread veiligheid MT-Safe

C89, C99, POSIX.1-2001.

LSB keurt gets af. POSIX.1-2008 markeert gets() als overbodig. ISO C11 verwijderde de specificatie van gets() uit de taal C, en vanaf versie 2.16, glibc is de functie declaratie uit de kop bestanden verwijderd zodra de _ISOC11_SOURCE feature test macro werd gedefinieerd.

Gebruik nooit gets(). Omdat het onmogelijk is om erachter te komen - zonder de gegevens van te voren te kennen - hoeveel karakters gets() zal gaan lezen, en omdat gets() doorgaat met opslaan van karakters na het einde van de buffer, is het extreem gevaarlijk bij gebruik. Het is gebruikt om computer beveiliging te breken. Gebruik fgets() inplaats hiervan.

Voor meer informatie, zie CWE-242 (aka "Use of Inherently Dangerous Function") at http://cwe.mitre.org/data/definitions/242.html

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)

Deze pagina is onderdeel van release 5.13 van het Linux man-pages-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.

22 maart 2021 GNU