Rozdział 14
Na początku dobrze by było. abyś dowiedział się. czym jest plik. Odpowiedni artykuł dostępny jest w Wikipedii. Najprościej mówiąc, plik to pewne dane zapisane na dysku.
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ło by ze sobą co najmniej dwa problemy:
• pamięciożcrność przechowywanie całego (czasami nawet 255-l>ajtowego łań-cuclia) zajmuje niepotrzebnie pamięć
• ryzyko błędów (owe błędy szerzej omówione zostały w rozdziale Napisy)
Aby uprościć korzystanie z plików programiści wpadli na pomysł, aby identyfikatorem pliku stała się liczba. Dzięki temu kod prognunu stał się czytelniejszy oraz wyeliminowano konieczność ciągłego korzystania z łańcuchów. Jednak sam plik nadal jest identyfikowany po swojej nazwie. Aby "przetworzyć” nazwę pliku na odpowiednią liczł»ę korzystamy z funkcji opon lub fopen. Różnica wyjaśniona jest poniżej.
Istnieją dwie metody obsługi czytania i pisania do plików: wysoko- i niskopoziomo-wa. Nazwy funkcji z pierwszej grupy zaczynają się od litery “f* (np. fopen(), fread(), fclose()). a identyfikatorem pliku jest wskaźnik na strukturę typu FILE. Owa struktura to pewna grupa zmiennych, która przechowuje dane o danym pliku — jak na przykład aktualną pozycję w nim. Szczegółami nie musisz się przejmować, funkcje biblioteki standardowej same zajmują się wykorzystaniem struktury FILE. programista może więc zapomnieć, czym tak naprawdę jest struktura FILE i traktować taką zmienną jako “uchwyt”, identyfikator pliku. Druga grupa to funkcje typu read(), open(). write() i cłose(). Podstawowym identyfikatorem pliku jest liczl>a całkowita, która jednoznacznie
97