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

Usunięta treść Dodana treść
m →‎Podstawowa obsługa plików: https://www.gnu.org/software/libc/manual/html_node/Low_002dLevel-I_002fO.html
m format
Linia 2:
Na początku dobrze by było, abyś dowiedział się, czym jest plik. Odpowiedni [[w:Plik|artykuł]] dostępny jest w Wikipedii. Najprościej mówiąc, plik to pewne dane zapisane na dysku.
 
==Metody obsługi plików==
== Identyfikacja pliku ==
Każdy z nas, korzystając na co dzień z komputera przyzwyczaił się do tego, że plik ma określoną nazwę. Jednak, w pisaniu programu, posługiwanie się całą nazwą niosłoby ze sobą co najmniej dwa problemy:
* duże zużycie pamięci - przechowywanie całej nazwy pliku zajmuje niepotrzebnie pamięć,
* ryzyko błędów (zostały szerzej omówione w rozdziale [[C/Napisy|Napisy]]).
Programiści korzystają z identyfikatora pliku, który jest pojedynczą liczbą całkowitą. Dzięki temu kod programu jest czytelniejszy i nie trzeba korzystać ciągle z pełnej nazwy pliku. Jednak sam plik nadal jest identyfikowany po swojej nazwie. Aby "przetworzyć" nazwę pliku na odpowiednią liczbę korzystamy z funkcji [[C/open|open]] lub [[C/fopen|fopen]]. Różnica wyjaśniona została poniżej.
 
== Podstawowa obsługa plików ==
Istnieją dwie metody obsługi czytania i pisania do plików:
* wysokopoziomowa,
Linia 22 ⟶ 16:
 
Czym różnią się oba podejścia do obsługi plików? Otóż metoda wysokopoziomowa ma swój własny bufor, w którym znajdują się dane po odczytaniu z dysku a przed wysłaniem ich do programu użytkownika. W przypadku funkcji niskopoziomowych dane kopiowane są bezpośrednio z pliku do pamięci programu. W praktyce używanie funkcji wysokopoziomowych jest prostsze a przy czytaniu danych małymi porcjami również często szybsze i właśnie ten model zostanie tutaj zaprezentowany.
 
 
 
== PodstawowaWysokopoziomowa obsługa plików ==
=== Identyfikacja pliku ===
Każdy z nas, korzystając na co dzień z komputera przyzwyczaił się do tego, że plik ma określoną nazwę. Jednak, w pisaniu programu, posługiwanie się całą nazwą niosłoby ze sobą co najmniej dwa problemy:
* duże zużycie pamięci - przechowywanie całej nazwy pliku zajmuje niepotrzebnie pamięć,
* ryzyko błędów (zostały szerzej omówione w rozdziale [[C/Napisy|Napisy]]).
Programiści korzystają z identyfikatora pliku, który jest pojedynczą liczbą całkowitą. Dzięki temu kod programu jest czytelniejszy i nie trzeba korzystać ciągle z pełnej nazwy pliku. Jednak sam plik nadal jest identyfikowany po swojej nazwie. Aby "przetworzyć" nazwę pliku na odpowiednią liczbę korzystamy z funkcji [[C/open|open]] lub [[C/fopen|fopen]]. Różnica wyjaśniona została poniżej.
 
=== Dane znakowe ===