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.
▲=== 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 ===
|