C/Czytanie i pisanie do plików: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m →Identyfikacja pliku: poprawki w stylu i interpunkcji |
→Podstawowa obsługa plików: drobne poprawki techniczne |
||
Linia 13:
* niskopoziomowa.
Nazwy funkcji z pierwszej grupy zaczynają się od litery "f" (np. fopen(), fread(), fclose()), a identyfikatorem pliku jest [[C/Wskaźniki|wskaźnik]] na [[C/Typy złożone#Struktury|strukturę]] typu FILE. Owa struktura to pewna grupa zmiennych, która przechowuje dane o
Druga grupa to funkcje typu read(), open(), write() i close().
Linia 46:
</source>
Teraz omówimy najważniejsze elementy programu. Jak już było wspomniane wyżej, do identyfikacji pliku używa się wskaźnika na strukturę <tt>FILE</tt> (czyli <tt>FILE *</tt>). Funkcja '''fopen''' zwraca ów wskaźnik w przypadku poprawnego otwarcia pliku, bądź też NULL, gdy plik nie może zostać otwarty. Pierwszy argument funkcji to nazwa pliku, natomiast drugi to ''''tryb dostępu''' - '''w''' oznacza "write" (pisanie)
Jak zatem uprościć nazwę typu <tt>FILE*</tt>? Używając [[C/Typy złożone|typedef]]:
<source lang="c">
Linia 70:
Warto tutaj zauważyć, że konstrukcja:
fprintf (stdout, "Hej, ja działam!")
jest równoważna konstrukcji:
printf ("Hej, ja działam!");
Podobnie jest z funkcją scanf()
fscanf (stdin, "%d", &zmienna);
działa tak samo jak
scanf("%d", &zmienna);
Linia 118:
}
Tym razem skorzystaliśmy już z dużo większego repertuaru funkcji. Między innymi można zauważyć tutaj funkcję [[C/fputc|fputc()]], która umieszcza pojedynczy znak w pliku. Ponadto w wyżej zaprezentowanym programie została użyta stała EOF, która reprezentuje koniec pliku (ang. ''End Of File''). Powyższy program otwiera plik, którego nazwa przekazywana jest jako pierwszy argument programu, a następnie kopiuje dane z wejścia programu (''stdin'') na wyjście (''stdout'') oraz do utworzonego pliku (identyfikowanego za pomocą fp). Program robi to
== Rozmiar pliku ==
|