Manpages

NAAM

fgetc, fgets, getc, getchar, gets, ungetc − invoer van karakters en strings {karaktersnoeren}

OVERZICHT

#include <stdio.h>

int fgetc(FILE *stroom);
char *fgets(char *
buf, int grootte, FILE *stroom);
int getc(FILE *
stroom);
int getchar(void);
char *gets(char *
buf);
int ungetc(int
kar, FILE *stroom);

BESCHRIJVING

fgetc() Leest het volgende karakter van stroom en geeft het terug als een unsigned char naar een int gecast, of EOF bij einde van bestand of een fout.

getc() Is gelijk aan fgetc() behalve dat het geïmplementeerd kan zijn als een macro die stroom meer dan één keer onderzoekt.

getchar() is gelijk aan getc(stdin).

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

fgets() leest maximaal één minder dan grootte karakters van stroom in, en bewaart ze in de buffer verwezen naar door buf. Lezen stopt na een EOF of een nieuweregel. Als een nieuweregel gelezen wordt, wordt het bewaard in de buffer. Een ’\0’ wordt opgeslagen direct achter het laatste gelezen karakter in de buffer.

ungetc() drukt kar terug in stroom, gecast naar een unsigned char, waar het beschikbaar wordt voor volgende lees operaties. Teruggedrukte karakters zullen in omgekeerde volgorde gelezen worden; echter één terug-drukking wordt maar gegarandeerd.

Aanroepen naar de hier beschreven de functies kunnen vermengd worden met elkaar, en met aanroepen naar andere invoer functies van de stdio bibliotheek voor dezelfde invoerstroom.

EIND WAARDE

fgetc(), getc() En getchar() geven het gelezen karakter terug als een unsigned char gecast naar een int, of EOF bij einde van bestand of een fout.

gets() en fgets() geven buf bij slagen, of ’NULL’ bij een fout en wanneer einde van bestand optreedt terwijl geen karakters gelezen werden.

ungetc() geeft kar bij slagen, of EOF bij een fout.

VOLDOET AAN

ANSI - C, POSIX.1

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.

Het wordt niet aangeraden om aanroepen naar invoer functies van de stdio bibliotheek met laag-niveau aanroepen naar read(2) te mengen voor de bestandindicator die bij de invoerstroom hoort; de resultaten zullen onbepaald zijn, en zeer waarschijnlijk niet wat u wilt.

ZIE OOK

read(2) {lees}, write(2) {schrijf}, fopen(3) {openen}, fread(3) {lees}, scanf(3) {inlezen}, puts(3) {plaatsen}, fseek(3) {zoek}, ferror(3) {fout}

VERTALING

Dit is een handleiding uit manpages-dev 1.34. Alles wat tussen ’{’..’}’ staat is aanvullende vertaling, en hoort niet bij de originele handleiding. Email naar <manpages-nl [AT] nl.org>.

$Id: gets.3,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $

COMMENTS