Ustalenie trybu otwarcia pliku
Ustalanie trybu otwarcia pliku ma sens np. gdy chcemy dołączyć dane do już istniejącego pliku, a nie tworzyć go od nowa. Dostępne są następujące specyfikatory trybu otwarcia pliku:
app | Otwarcie pliku do dopisywania, dane dołączane są na końcu pliku |
ate | Otwarcie pliku z ustawieniem wskaźnika plikowego na końcu pliku |
in | Otwarcie pliku tylko do odczytu (tryb domyślny dla klasy ifstream) |
out | Otwarcie pliku tylko do zapisu (tryb domyślny dla klasy ofstream) |
binary | Otwarcie pliku w trybie binarnym. Pliki obsługiwane za pomocą klas ifstream i ofstream otwierane są domyślnie w trybie tekstowym, czego konsekwencją jest specyficzne traktowanie znaków końca wiersza. Podczas odczytu plików w trybie tekstowym kończące wiersz pary znaków CR (kod 13) i LF (kod 10) tłumaczone są na pojedyncze znaki LF, natomiast podczas zapisu dokonywana jest konwersja odwrotna. W trybie binarnym konwersja nie jest wykonywana. |
trunc | Otwarcie pliku ze zniszczeniem jego poprzedniej zawartości. Tryb ten jest domyślny, o ile nie został użyty specyfikator app lub ate. |
Powyższe specyfikatory mogą być łączone, np:
ofstream outfile("test.dat", ios::app | ios::binary); |
otwiera plik do dopisywania w trybie binarnym. Należy zwrócić uwagę, że specyfikatory app i binary są poprzedzone nazwą klasy ios i operatorem zakresu :: co wynika z faktu, iż stałe definiujące specyfikatory dostępu są polami klasy ios, a zatem można się do nich odwoływać wyłącznie za pośrednictwem tej klasy.