Operacje wejścia-wyjścia (styl C)
Pliki binarne

Pliki binarne zawierają dane w takiej postaci, w jakiej są przechowywane w pamięci komputera. Jest to po prostu zrzut fragmentu pamięci komputera. Zawartość pliku na ogół jest nieczytelna dla człowieka - widzimy zwykłe "krzaki".

Operacje na plikach binarnych są szybkie gdyż nie musimy konwertować danych z tekstu na ich właściwy format. Jeśli tylko człowiek nie musi czytać i rozumieć zawartości pliku, to preferowane jest zapisywanie w formacie binarnym. Dane w pliku binarnym traktowane są jak ciąg bajtów.

Biblioteka C/C++ dostarcza funkcji odczytywania i zapisywania zbioru bajtów. Są to

size_t fread ( void * ptr, 
                size_t size, 
                size_t count, 
                FILE * stream 
              );
 
size_t fwrite ( const void * ptr, 
                size_t size, 
                size_t count, 
                FILE * stream 
              );

Argumenty w tych funkcjach oznaczają:

NazwaOpis
ptrmiejsce w pamięci skąd/dokąd będą zapisywane dane
sizerozmiar pojedynczego elementu odczytywanego/zapisywanego
countilość odczytywanych/zapisywanych elementów
streamuchwyt pliku, na którym ma być wykonana operacja odczytu/zapisu

Przykład - zapis i odczyt w trybie binarnym

Istnieje cały szereg innych funkcji do operacji na plikach binarnych, w tym funkcji wyszukujących, przesuwających wskaźnik pliku, itd. Listę tych funkcji i ich opisy można znaleźć w sieci, na przykład tutaj.

Materiały przeznaczone wyłącznie dla studentów
Instytutu Informatyki i Matematyki Komputerowej UJ
Daniel Wilczak