Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
fgetc, fgets, getc, getchar, gets, ungetc - wprowadzanie znakow i
lacuchow znakowych
SK/LADNIA
#include <stdio.h>
int fgetc(FILE *stream);
char *fgets(char *s, int size, FILE *stream);
int getc(FILE *stream);
int getchar(void);
char *gets(char *s);
int ungetc(int c, FILE *stream);
OPIS
fgetc() odczytuje nastpny znak ze stream i zwraca go jako rzutowanie
unsigned char na int, lub EOF w przypadku koca pliku albo bldu.
getc() jest rownowane fgetc() z tym wyjtkiem, e moe by zaimplementowane
jako makro, ktore wylicza stream wicej ni raz.
getchar() jest rownowane getc(stdin).
gets() odczytuje lini z stdin do bufora wskazywanego przez s a do
koczcego znaku nowej linii lub EOF, ktory jest zastpowany przez '\0'.
Nie jest sprawdzane przepelnienie bufora (zobacz B/LDY poniej).
fgets() odczytuje co najwyej o jeden mniej ni size znakow ze stream i
umieszcza je w buforze wskazywanym przez s. Odczyt koczy si po
napotkaniu EOF lub znaku nowej linii. Jeli odczytany zostanie znak
nowej linii, jest on przechowywany w buforze. Po ostatnim znaku w
buforze jest umieszczany '\0'.
ungetc() odklada c z powrotem do stream, rzutowane na unsigned char, o
ile jest to moliwe dla nastpnych operacji odczytu. Odloone znaki bd
zwracane w odwrotnej kolejnoci; tylko jedno pomylne odloenie jest
zagwarantowane.
Wywolania opisanych tu funkcji mog by mieszane midzy sob jak i z
wywolaniami innych funkcji wejciowych z biblioteki stdio operujcych na
tym samym strumieniu wejciowym.
Informacje o nieblokujcych odpowiednikach znajduj si w
unlocked_stdio(3).
WARTO ZWRACANA
fgetc(), getc() i getchar() zwracaj znak odczytany jako rzutowanie
unsigned char na int lub EOF w przypadku koca pliku lub bldu.
gets() i fgets() zwracaj s w przypadku pomylnego zakoczenia, a NULL w
przypadku bldu oraz gdy wystpi koniec pliku, a nie zostanie odczytany
aden znak.
ungetc() zwraca c w przypadku pomylnego zakoczenia, a EOF w przypadku
bldu.
ZGODNE Z
ANSI - C, POSIX.1
B/LDY
Nigdy nie naley uywa gets(). Funkcja ta jest szczegolnie niebezpieczna
w uyciu, poniewa bez znajomoci danych z gory nie jest moliwe okrelenie,
ile znakow gets() przeczyta, i poniewa gets() bdzie kontynuowa
umieszczanie znakow po przekroczeniu koca bufora. Bylo to
wykorzystywane do lamania zabezpiecze komputerow. Zamiast gets() naley
korzysta z fgets().
Nie jest zalecane mieszanie wywola funkcji wejciowych z biblioteki
stdio z niskopoziomowymi wywolaniami read() dla deskryptora pliku
stowarzyszonego ze strumieniem wejciowym; wyniki bd nieokrelone i z
duym prawdopodobiestwem nie takie, jakich oczekiwano.
ZOBACZ TAKE
read(2), write(2), ferror(3), fopen(3), fread(3), fseek(3), puts(3),
scanf(3), unlocked_stdio(3)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.