C/Czytanie i pisanie do plików: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
m format
Linia 21:
== Niskopoziomowa obsługa plików ==
 
Niskopoziomowa metoda obsługi plików<ref> [https://www.gnu.org/software/libc/manual/html_node/Low_002dLevel-I_002fO.html= gnuobsługa libcna manua:poziomie Low-Level Input/Output]</ref>deskryptora<ref>[http://www.fuw.edu.pl/~jnareb/zajecia/file-output.html Jakub Narębski :Zapis wyników do pliku w C, C++ i Javie]</ref>
 
Znajdują się tu funkcje do wykonywania niskopoziomowych operacji wejścia/wyjścia na deskryptorach plików<ref> [https://www.gnu.org/software/libc/manual/html_node/Low_002dLevel-I_002fO.html gnu libc manua: Low-Level Input/Output]</ref>
* prymitywy dla funkcji we/wy wyższego poziomu opisanych w sekcji Wejście/wyjście w strumieniach
* funkcje do wykonywania operacji sterowania niskiego poziomu, dla których nie ma odpowiedników w strumieniach
 
Nazwy funkcji są typu read(), open(), write() i close().
 
We/wy na poziomie strumienia jest bardziej elastyczne i zwykle wygodniejsze; dlatego programiści na ogół używają funkcji na poziomie deskryptora tylko wtedy, gdy jest to konieczne. Oto niektóre z typowych powodów:
Podstawowym identyfikatorem pliku jest liczba całkowita, która jednoznacznie identyfikuje dany plik w systemie operacyjnym. Liczba ta w systemach typu UNIX jest nazywana '''deskryptorem''' pliku.
* do odczytu plików binarnych w dużych porcjach
* do wczytywania całego pliku do rdzenia przed jego analizowaniem.
* do wykonywania operacji innych niż przesyłanie danych, które można wykonać tylko za pomocą deskryptora. (Możesz użyć fileno, aby uzyskać deskryptor odpowiadający strumieniowi.)
* Aby przekazać deskryptory do procesu potomnego. (Proces potomny może utworzyć własny strumień, aby używać deskryptora, który dziedziczy, ale nie może bezpośrednio dziedziczyć strumienia)
 
Podstawowym identyfikatorem pliku jest liczba całkowita, która jednoznacznie identyfikuje dany plik w systemie operacyjnym. Liczba ta w systemach typu UNIX jest nazywana '''deskryptorem''' pliku.
 
== Wysokopoziomowa obsługa plików ==