Функція fopen () у C ++ відкриває вказаний файл у певному режимі.
прототип fopen ()
FILE * fopen (режим const char * ім'я файлу, режим const char *);
fopen()
Функція приймає два аргументи і повертає файловий потік , пов'язаний з цим файлом , зазначеним в аргументі файл.
Це визначається у файлі заголовка.
Різні типи режиму доступу до файлів:
Режим доступу до файлів | Інтерпретація | Якщо файл існує | Якщо файл не існує |
---|---|---|---|
"r" | Відкриває файл у режимі читання | Читати з самого початку | Помилка |
"ш" | Відкриває файл у режимі запису | Стерти весь вміст | Створити новий файл |
"а" | Відкриває файл у режимі додавання | Почніть писати з кінця | Створити новий файл |
"r +" | Відкриває файл у режимі читання та запису | Читати з самого початку | Помилка |
"w +" | Відкриває файл у режимі читання та запису | Стерти весь вміст | Створити новий файл |
"a +" | Відкриває файл у режимі читання та запису | Почніть писати з кінця | Створити новий файл |
fopen () Параметри
- ім'я файлу: вказівник на рядок, що містить ім'я файлу, який потрібно відкрити.
- 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".