Provided by: manpages-pl-dev_4.27.0-1_all 

NAZWA
stdio - funkcje biblioteczne standardowego wejścia/wyjścia
BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)
SKŁADNIA
#include <stdio.h> FILE *stdin; FILE *stdout; FILE *stderr;
OPIS
Biblioteka standardowego wejścia/wyjścia zapewnia prosty i wydajny interfejs buforowanych strumieni wejścia/wyjścia. Wejście i wyjście jest przypisywane do logicznych strumieni danych, a fizyczna charakterystyka wejścia/wyjścia jest ukrywana. Funkcje i makra wypisano poniżej; więcej informacji jest dostępnych w poszczególnych stronach podręcznika systemowego. Strumień jest wiązany z zewnętrznym plikiem (który może być fizycznym urządzeniem) przez otwarcie pliku, co może wymagać utworzenia nowego pliku. Utworzenie istniejącego pliku spowoduje odrzucenie jego wcześniejszej zawartości. Jeśli plik może obsłużyć żądania pozycjonowania (np. jest to plik na dysku, a nie terminal), to wskaźnik pozycji pliku związany ze strumieniem jest umieszczany na początku pliku (bajt zero), chyba że plik otwarto w trybie dopisywania. W trybie dopisywania nie jest określone, czy wskaźnik pozycji zostanie umieszczony na początku, czy na końcu pliku. Wskaźnik pozycji jest utrzymywany przez kolejne odczyty, zapisy i żądania pozycjonowania. Wszelkie wejście zachowuje się, jakby znaki były odczytywane przez kolejne wywołania do funkcji fgetc(3); wszelkie wyjście zachowuje się, jakby wszystkie znaki były zapisywane przez kolejne wywołania do funkcji fputc(3). Plik jest oddzielany od strumienia przez zamknięcie pliku. Strumienie wyjściowe są opróżniane (wszelka niezapisana zawartość bufora jest transferowana do środowiska gospodarza) przed oddzieleniem strumienia z pliku. Wartość wskaźnika do obiektu FILE jest nieokreślona po zamknięciu pliku (śmieci). Plik może być później otwarty ponownie, przez wykonanie tego samego lub innego programu, a jego zawartość odzyskana lub zmodyfikowana (jeśli może być spozycjonowany od początku). Jeśli główna funkcja powróci do swego pierwotnego wywołującego lub jeśli wywołano funkcję exit(3), wszystkie otwarte pliki są zamykane (stąd wszystkie strumienie wyjściowe są opróżniane) przed zakończeniem programu. Inne sposoby na zakończenie programu, takie jak abort(3), nie troszczą się o poprawne zamknięcie plików. Przy uruchomieniu programu, trzy strumienie tekstowe są predefiniowane i nie trzeba ich jawnie otwierać: standardowe wejście (ang. standard input – do odczytu zwykłego wejścia), standardowe wyjście (ang. standard output – do wypisywania zwykłego wyjścia) oraz standardowe wyjście błędów (ang. standard error – do wypisywania wyjścia diagnostycznego). Strumienie tę są nazywane skrótowo stdin, stdout i stderr. Przy otwarciu, strumień standardowego wyjścia błędów nie jest w pełni buforowany; strumienie standardowego wejścia i wyjścia są w pełni buforowane wtedy i tylko wtedy, gdy strumienie te nie odnoszą się do urządzenia interaktywnego. Strumienie wyjściowe odnoszące się do urządzeń terminali są domyślnie zawsze buforowane do wiersza; oczekujące wyjście do tych strumieni jest zapisywane automatycznie, gdy tylko odczytywany jest strumień wejściowy odnoszący się do urządzenia terminala. W przypadkach, gdy po wypisaniu części wiersza na terminal wyjściowy dokonywana jest znaczna ilość obliczeń, konieczne jest dokonanie fflush(3) na standardowym wyjściu przed zajęciem się obliczeniami, dzięki czemu pojawi się wyjście. Biblioteka stdio jest częścią biblioteki libc i funkcje są ładowane automatycznie w miarę potrzeb przez cc(1). Rozdziały SKŁADNIA poniższych stron podręcznika systemowego wskazują, których plików include należy użyć, jak wygląda deklaracja kompilatora dla funkcji oraz które zmienne zewnętrzne przyjmują. Nazwy, które zdefiniowano jako makra, nie mogą być użyte ponownie, przed usunięciem ich aktualnych definicji za pomocą #undef; dotyczy to: BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_cuserid, L_ctermid, L_tmpnam, NULL, SEEK_END, SEEK_SET, SEEK_CUR, TMP_MAX, clearerr, feof, ferror, fileno, getc, getchar, putc, putchar, stderr, stdin, stdout. Istnieją wersje zaimplementowane jako funkcje następujących makr: feof, ferror, clearerr, fileno, getc, getchar, putc i putchar; zostaną one użyte, jeśli usunie się definicje makr. Lista funkcji Funkcja Opis ────────────────────────────────────────────────────────────────────────────────────────────────────────── clearerr(3) sprawdza i zmienia stan strumienia fclose(3) zamyka strumień fdopen(3) funkcje otwarcia strumienia feof(3) sprawdza i zmienia stan strumienia ferror(3) sprawdza i zmienia stan strumienia fflush(3) wypróżnia bufory strumienia fgetc(3) odczytuje następny znak lub słowo ze strumienia wejściowego fgetpos(3) zmienia pozycję w strumieniu fgets(3) odczytuje wiersz ze strumienia fileno(3) zwraca liczbowy deskryptor strumienia z argumentu fmemopen(3) otwiera pamięć jako strumień fopen(3) funkcje otwarcia strumienia fopencookie(3) otwiera własny strumień fprintf(3) konwertuje formatowanie wyjściowe fpurge(3) wypróżnia bufory strumienia fputc(3) wypisuje znak lub słowo do strumienia fputs(3) wypisuje wiersz do strumienia fread(3) odczytuje/zapisuje strumień binarny freopen(3) funkcje otwarcia strumienia fscanf(3) konwertuje format wejściowy fseek(3) zmienia pozycję w strumieniu fsetpos(3) zmienia pozycję w strumieniu ftell(3) zmienia pozycję w strumieniu fwrite(3) odczytuje/zapisuje strumień binarny getc(3) odczytuje następny znak lub słowo ze strumienia wejściowego getchar(3) odczytuje następny znak lub słowo ze strumienia wejściowego gets(3) odczytuje wiersz ze strumienia getw(3) odczytuje następny znak lub słowo ze strumienia wejściowego mktemp(3) tworzy (unikatową) nazwę pliku tymczasowego open_memstream(3) otwiera strumień bufora pamięci dynamicznej open_wmemstream(3) otwiera strumień bufora pamięci dynamicznej perror(3) systemowe komunikaty o błędach printf(3) konwertuje formatowanie wyjściowe putc(3) wypisuje znak lub słowo do strumienia putchar(3) wypisuje znak lub słowo do strumienia puts(3) wypisuje wiersz do strumienia putw(3) wypisuje znak lub słowo do strumienia remove(3) usuwa wpis katalogu rewind(3) zmienia pozycję w strumieniu scanf(3) konwertuje format wejściowy setbuf(3) działania buforowania strumienia setbuffer(3) działania buforowania strumienia setlinebuf(3) działania buforowania strumienia setvbuf(3) działania buforowania strumienia sprintf(3) konwertuje formatowanie wyjściowe sscanf(3) konwertuje format wejściowy strerror(3) systemowe komunikaty o błędach sys_errlist(3) systemowe komunikaty o błędach sys_nerr(3) systemowe komunikaty o błędach tempnam(3) funkcje pliku tymczasowego tmpfile(3) funkcje pliku tymczasowego tmpnam(3) funkcje pliku tymczasowego ungetc(3) zwraca znak ze strumienia wejściowego vfprintf(3) konwertuje formatowanie wyjściowe vfscanf(3) konwertuje format wejściowy vprintf(3) konwertuje formatowanie wyjściowe vscanf(3) konwertuje format wejściowy vsprintf(3) konwertuje formatowanie wyjściowe vsscanf(3) konwertuje format wejściowy
STANDARDY
C11, POSIX.1-2008.
HISTORIA
C89, POSIX.1-2001.
ZOBACZ TAKŻE
close(2), open(2), read(2), write(2), stdout(3), unlocked_stdio(3)
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com> Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl- list@lists.sourceforge.net. Linux man-pages 6.9.1 2 maja 2024 r. stdio(3)