Отваряне и затваряне на файлове, програмиране C и C
В C ++ файл се отваря чрез обединяване с поток. Има три вида потоци: вход, изход и вход/изход. За да отворите входен поток, трябва да декларирате потока като обект от класа ifstream. За да отворите изходен поток, трябва да го декларирате като обект от класа на потока. Потоци, коитоТези, които правят едновременно въвеждане и извеждане, трябва да бъдат обявени като обекти от клас fstream. Нанапример, следният програмен фрагмент създава един входен поток, един изходен поток и един поток, способен да прави едновременно вход и изход:
ifstream в; // вход
извън потока; // изход
fstream и двете; // вход и изход
След създаването на поток единственият начин да го свържете с файл е да използватеизвикване на функцията oren (). Тази функция е член на всеки от трите класа нишки. Той има следния прототип:
void open (const char "име на файл, режим int, int access = filebuf: openprot);
Тук името на файла е името на файла и може да включва път. Стойността на режима е дефиниранаКак се отваря файлът. Режимът може да приема една или повече от следните стойности (дефинирани в заглавния файл fstream.h):
Можете да комбинирате две или повече от тези стойности, като използвате побитово ИЛИ.
ios: app показва, че изходът ще бъде добавен в края на файла. Тази стойност може да се използва само за файлове, за които е възможен изход. Използването на ios: ate води до търсене в края на файла, когато файлът се отвори.
ios: in указва възможността за въвеждане от файл. ios: out показва, че файлът е за изходДа. Създаването на поток с помощта на ifstream определя режима на въвеждане, а създаването на поток с използване на потока определя изходния режим, в тези случаи няма нужда да се посочвагорните стойности.
ios: nocreate указва режим, в който функцията open () може да отвори само съществофайл. ios: noreplace не позволява отваряне на файл на функцията oren (), ако файлът вече съществува, но атрибутите ios: ate или ios: app не са посочени.