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

Usunięta treść Dodana treść
Linia 56:
 
===Pliki a strumienie===
Można zauważyć, że do zapisu do pliku używamy funkcji <tt>[[C/fprintf|fprintf]]</tt>, która wygląda bardzo podobnie do <tt>[[C/printf|printf]]</tt> - jedyną różnicą jest to, że w <tt>fprintf</tt> musimy jako pierwszy argument podać identyfikator pliku. Nie jest to przypadek - obie funkcje tak naprawdę robią takto samo. Używana do wczytywania danych z klawiatury funkcja <tt>[[C/scanf|scanf]]</tt> też ma swój odpowiednik wśród funkcji operujących na plikach - jak nietrudno zgadnąć, nosi ona nazwę <tt>[[C/fscanf|fscanf]]</tt>.
 
W rzeczywistości język C traktuje tak samo klawiaturę i plik - są to źródła danych, podobnie jak ekran i plik, do których można dane kierować. Jest to myślenie typowe dla systemów typu UNIX, jednak dla użytkowników przyzwyczajonych do systemu Windows albo języków typu [[Pascal]] może być to co najmniej dziwne. Nie da się ukryć, że między klawiaturą i plikiem na dysku zachodzą podstawowe różnice i dostęp do nich odbywa się inaczej - jednak funkcje języka C pozwalają nam o tym zapomnieć i same zajmują się szczegółami technicznymi. Z punktu widzenia programisty, urządzenia te sprowadzają się do nadanego im identyfikatora. Uogólnione pliki nazywa się w C '''strumieniami'''.