Функцията fopen () в C ++ отваря определен файл в определен режим.
fopen () прототип
ФАЙЛ * fopen (режим const char * име на файл, режим const char *);
Най- fopen()
функция може да отнеме два аргумента и връща поток файл, свързан с този файл, посочен от аргумент името на файла на.
Той се определя в заглавния файл.
Различните видове режим на достъп до файлове са както следва:
Режим на достъп до файлове | Интерпретация | Ако файлът съществува | Ако файлът не съществува |
---|---|---|---|
"r" | Отваря файла в режим на четене | Прочетете от самото начало | Грешка |
"w" | Отваря файла в режим на запис | Изтрийте цялото съдържание | Създайте нов файл |
"а" | Отваря файла в режим на добавяне | Започнете да пишете от края | Създайте нов файл |
"r +" | Отваря файла в режим на четене и запис | Прочетете от самото начало | Грешка |
"w +" | Отваря файла в режим на четене и запис | Изтрийте цялото съдържание | Създайте нов файл |
"a +" | Отваря файла в режим на четене и запис | Започнете да пишете от края | Създайте нов файл |
fopen () Параметри
- filename: указател на низа, съдържащ името на файла, който ще се отвори.
- mode: указател на низа, който указва режима, в който се отваря файлът.
fopen () Върната стойност
- Ако е успешна,
fopen()
функцията връща указател към обекта FILE, който контролира отворения файлов поток. - При неуспех той връща нулев указател.
Пример 1: Отваряне на файл в режим на запис с помощта на fopen ()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "w"); char str(20) = "Hello World!"; if (fp) ( for(int i=0; i
When you run the program, it will not generate any output but will write "Hello World!" to the file "file.txt".
Example 2: Opening a file in read mode using fopen()
#include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "r"); if (fp) ( while ((c = getc(fp)) != EOF) putchar(c); fclose(fp); ) return 0; )
When you run the program, the output will be (Assuming the same file as in Example 1):
Hello World!
Example 3: Opening a file in append mode using fopen()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "a"); char str(20) = "Hello Again."; if (fp) ( putc('',fp); for(int i=0; i
When you run the program, it will not generate any output but will append "Hello Again" in a newline to the file "file.txt".