Scroll to navigation

gets(3) Library Functions Manual gets(3)

NAAM

gets - invoer van strings van standaardinvoer (AFGEKEURD)

BIBLIOTHEEK

Standard C bibliotheek (libc, -lc)

SAMENVATTING

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

BESCHRIJVING

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).

EIND WAARDE

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.

ATTRIBUTEN

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

Interface Attribuut Waarde
gets() Thread veiligheid MT-Safe

VOLDOET AAN

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 header bestanden verwijderd zodra de _ISOC11_SOURCE feature test macro is gedefinieerd.

BUGS

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

ZIE OOK

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)

VERTALING

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.

5 februari 2023 Linux man-pagina's 6.03