Pliki - otwieranie i zamykanie plików
Funkcje do operacji na plikach znajdziemy w pliku nagłówkowym cstdio.
Typowy sposób pracy z plikiem, to:
- Otwarcie pliku
- Zapis/Odczyt danych
- Zamknięcie pliku
Do otwierania i zamykania plików służą funkcje
FILE * fopen ( const char * filename, const char * mode );
int fclose ( FILE * stream );
Jak widać funkcja otwierająca plik ma dwa argumenty
- filename - to nazwa otwieranego pliku
- mode - to parametry określające tryb otwarcia pliku. Jest to napis zawierający ciąg liter, które mają następujące znaczenie
- r - otwórz plik tylko do czytania
- w - otwórz plik tylko do zapisywania
- a - otwarcie pliku w trybie dopisywania na koniec zawartości
- r+ - otwarcie istniejącego pliku w trybie odczytu i zapisu
- w+ - otwarcie pliku w trybie odczytu i zapisu do nadpisywania. Jeśli plik wcześniej istniał, to jego zawartość zostanie usunięta.
- a+ - otwarcie do dopisywania i czytania. Otwarcie (lub stworzenie jeśli nie istnieje) do poprawiania na końcu pliku.
Dodatkowo do trybu można dopisać na koniec jedną z liter
- t - plik zostanie otwarty w trybie tekstowym
- b - plik zostanie otwarty w trybie binarnym
Jeśli ani t ani b nie zostało podane plik otwierany jest w zależności od wartości zmiennej _fmode - default'owo ustawiona jest ona na O_TEXT, ale można ją ustawić na O_BINARY.
Funkcja fopen zwraca wskaźnik do struktury FILE opisującej plik lub wskaźnik NULL, jeśli nie udało się utworzyć pliku. Typowe otwarcie pliku może wyglądać tak:
FILE* file=fopen("plikTekstowy.txt","w+t");
if(file==NULL)
{
printf("Nie moge otworzyc pliku!");
} else {
.... // operacje na pliku
fclose(file);
}
Uchwyt (wskaźnik) pliku jest argumentem funkcji fclose, którą należy wywołać po zakończeniu operacji na pliku.