ANSI C 0

ANSI C 0



DODATEK B BIBLIOTEKA STANDARDOWA

DODATEK B BIBLIOTEKA STANDARDOWA


Wejście i wyjście: nagłówek <stdio.h>

Funkcje wejścia i wyjścia, typy i makra zdefiniowane w <stdio.h> stanowią prawie jedną trzecią zawartości biblioteki.

Strumień jest źródłem lub celem danych i może być skojarzony z dyskiem lub innym urządzeniem zewnętrznym. Biblioteka obsługuje strumienie tekstowe i binarne, jakkolwiek w niektórych systemach operacyjnych, w szczególności w systemie Unix, są one identyczne. Strumień tekstowy jest ciągiem wierszy; każdy wiersz zawiera zero lub więcej znaków i kończy się znakiem *\n\ W pewnych środowiskach programów strumienie tekstowe mogą wymagać przekształcenia do jakiejś innej postaci (np. przez zastąpienie znaków ’\n’ znakami powrotu karetki i nowego wiersza). Strumień binarny jest ciągiem nie przetworzonych bajtów reprezentujących wewnętrzne dane programu, mającym tę właściwość, że zapisany i ponownie w tym samym systemie odczytany, pozostaje bez zmian.

Strumień wiąże się z plikiem lub urządzeniem za pomocą otwarcia; to połączenie przerywa się zamykając strumień. Otwarcie pliku udostępnia wskaźnik do obiektu typu FILE (plik), w którym gromadzi się wszelkie informacje niezbędne do obsługi strumienia. Tam, gdzie to nie będzie prowadzić do nieporozumień, będziemy wymiennie używali określeń „wskaźnik do pliku” i „strumień”.

Gdy program rozpoczyna działanie, trzy strumienie są już otwarte: stdin (standardowe wejście), stdout (standardowe wyjście) i stderr (standardowe wyjście błędów).

B1.1 Operacje na plikach

Następujące funkcje operują na plikach (typ size_t jest typem wartości całkowitej bez znaku, otrzymywanej za pomocą operatora sizeof):

FILE *fopen(const char *filename, const char *mode)

Funkcja fopen otwiera wskazany argumentem filename plik i zwraca strumień lub NULL, jeśli próba otwarcia się nie powiedzie. Argument modę określa rodzaj dostępu do pliku; poniższe zestawienie zawiera jego dopuszczalne wartości:

otwórz plik tekstowy do czytania;

"w"

”a”

”r+”

”włM


”a+”


otwórz plik tekstowy do pisania; skasuj poprzednią zawartość, jeśli istnieje; dopisuj; otwórz lub utwórz plik tekstowy do dopisywania na końcu pliku; otwórz plik tekstowy do aktualizacji (tj. czytania i pisania); utwórz plik tekstowy do aktualizacji; skasuj poprzednią zawartość, jeśli istnieje;

dopisuj; otwórz lub utwórz plik tekstowy do aktualizacji, dopisując na końcu pliku.

Aktualizacja oznacza możliwość jednoczesnego pisania do i czytania go pliku; między czytaniem i pisaniem (lub odwrotnie) należy wywołać funkcję fflush lub funkcje pozycjonujące plik. Jeśli w argumencie modę po początkowej literze występuje litera b, np. "rb” lub ”w+b’\ oznacza to plik binarny. Nazwy plików są ograniczone do FILENAME_MAX znaków. Jednocześnie można otworzyć co najwyżej FOPEN_MAX plików.

FILE *freopen(const char *filename, const char *mode, FILE *stream)

Funkcja freopen otwiera wskazany plik (filename) przy wskazanym rodzaju dostępu (modę) i wiąże z nim strumień. Funkcja zwraca wartość stream lub NULL w przypadku błędu. Funkcji freopen zwykle używa się do zmiany plików związanych ze strumieniami stdin, stdout i stderr.

int fflush(FILE *stream)

Dla strumieni wyjściowych funkcja fflush powoduje wypisanie wszelkich zbuforo-wanych, lecz jeszcze nie wypisanych, danych; dla strumieni wejściowych efekt nie jest zdefiniowany. Funkcja zwraca EOF w przypadku błędu pisania, a zero w pozostałych przypadkach. Wywołanie fflush(NULL) wypisuje dane ze wszystkich strumieni wyjściowych.

int fclose(FILE *stream)

Funkcja felose wypisuje wszystkie nie wypisane dane związane ze strumieniem stream, kasuje wszystkie nie przeczytane dane z buforów wejściowych, zwalnia automatycznie przydzielone bufory i na koniec zamyka plik. Funkcja zwraca EOF w przypadku jakiegoś błędu, a zero w pozostałych przypadkach.

int remove(const char *filename)

Funkcja remove usuwa wskazany plik tak, że późniejsza próba otworzenia go zakończy się niepowodzeniem. Funkcja zwraca wartość różną od zera. jeśli usunięcie pliku się nie powiedzie.

int rename(const char *oldname, const char *newname)

Funkcja rename zmienia nazwę pliku (z oldname na newname); zwraca wartość różną od zera, jeśli ta zmiana się nie powiedzie.

FILE *tmpfile(void)

Funkcja tmpfile tworzy plik tymczasowy z rodzajem dostępu ,!wb+”; plik ten zostanie automatycznie usunięty po zamknięciu lub po normalnym zakończeniu programu. Funkcja zwraca strumień lub NULL, gdy nie jest w stanie utworzyć pliku.

char *tmpnam(char s[l__tmpnamj)

Wywołanie tmpnam(NULL) tworzy nazwę (ciąg znaków), która nie jest nazwą żadnego z istniejących plików, i zwraca wskaźnik do tej nazwy w wewnętrznej, staty-

323


Wyszukiwarka

Podobne podstrony:
ANSI C 0 DODATEK B BIBLIOTEKA STANDARDOWA____ clock_t clock(void) Funkcja clock zwraca czas proces
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C_________ Obiekt typu całkowitego można jawnie przekształcić
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C ___——- łujących się do samych siebie: struktura lub unia mo
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C_______ int max(a, b, c) int a, b, c;{ /* .» *1} gdzie dekla
ANSI C 1 DODATEK B BIBLIOTEKA STANDARDOWA cznej tablicy. Wywołanie tmpnam(s) wstawia tę nazwę do a
ANSI C 2 DODATEK B BIBLIOTEKA STANDARDOWA Tablica B-1. Przekształcenia funkcji printf Znak Typ
ANSI C 3 DODATEK B BIBLIOTEKA STANDARDOWA Tablica B-2. Przekształcenia funkcji scanf Znak Dana
ANSI C 4 DODATEK B BIBLIOTEKA STANDARDOWA czytaniu ze strumienia. Dla każdego strumienia można wyc
ANSI C 5 DODATEK B BIBLIOTEKA STANDARDOWA ____- różną od zera (prawda), jeśli argument c spełnia p
ANSI C 6 DODATEK B BIBLIOTEKA STANDARDOWA s i t są typu void *, argumenty cs i ct są typu const vo
ANSI C 7 DODATEK B BIBLIOTEKA STANDARDOWA double strtod(const char *s, char **endp) Funkcja strtod
ANSI C 8 DODATEK B BIBLIOTEKA STANDARDOWA ________ char *getenv(const char *name) Funkcja getenv z
ANSI C 9 DODATEK B BIBLIOTEKA STANDARDOWA DODATEK B BIBLIOTEKA STANDARDOWASkoki odległe: nagłówek
ANSI C 1 DODATEK B BIBLIOTEKA
Wykorzystanie biblioteki standardowej C Wszystkie nagłówki z C zostały obudowane, aby można było je
ANSI C 0 7 WEJŚCIE I WYJŚCIE 7.8.2 Badanie klasy znaków i ich przekształcenia Wiele funkcji ze sta
ANSI - Amerykański Narodowy Instytut Normalizacji ANSI, (ang.) American National Standards
10 Dodatek B. Lisia instrukcji wg typów 93Dodatek B. Lista instrukcji wg typów Instrukcje bajtowej

więcej podobnych podstron