Функция fopen () в C ++ открывает указанный файл в определенном режиме.
fopen () прототип
ФАЙЛ * fopen (const char * filename, const char * mode);
fopen()
Функция принимает два аргумента и возвращает файловый поток , связанный с этим файлом , указанным в аргументе файл.
Это определено в заголовочном файле.
Ниже представлены различные типы режима доступа к файлам:
Режим доступа к файлам | Интерпретация | Если файл существует | Если файл не существует |
---|---|---|---|
"р" | Открывает файл в режиме чтения | Читать с начала | ошибка |
"ш" | Открывает файл в режиме записи | Стереть все содержимое | Создать новый файл |
"а" | Открывает файл в режиме добавления | Начни писать с конца | Создать новый файл |
"г +" | Открывает файл в режиме чтения и записи | Читать с начала | ошибка |
"w +" | Открывает файл в режиме чтения и записи | Стереть все содержимое | Создать новый файл |
"а +" | Открывает файл в режиме чтения и записи | Начни писать с конца | Создать новый файл |
fopen () Параметры
- filename: Указатель на строку, содержащую имя открываемого файла.
- режим: указатель на строку, определяющую режим, в котором открывается файл.
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".