The метод fopen(). у C — це функція бібліотеки, яка використовується для відкриття файлу для виконання різноманітних операцій, включаючи читання, запис тощо разом із різними режимами. Якщо файл існує, функція fopen() відкриває конкретний файл, інакше буде створено новий файл.
Синтаксис
Синтаксис C fopen() такий:
FILE * fopen (const char * file_name , const char * mode_of_operation );>
Параметри
Метод приймає два параметри типу символьного покажчика:
- ім'я_файлу: Це тип рядка C і приймає назву файлу, який потрібно відкрити.
- режим_роботи: Це також тип рядка C і відноситься до режиму доступу до файлу.
У наведеній нижче таблиці наведено дійсні значення mode_of_operation у C із їхнім значенням:
| Режими відкриття | опис |
|---|---|
| r | Пошук файлу. Відкриває файл лише для читання . Якщо файл відкрито успішно, fopen() завантажує його в пам’ять і встановлює покажчик, який вказує на перший символ у ньому. Якщо файл неможливо відкрити, fopen() повертає NULL. |
| в | Пошук файлу. Якщо файл уже існує, його вміст буде перезаписано. Якщо файл не існує, створюється новий файл. Повертає NULL, якщо неможливо відкрити файл. Він створює новий файл лише для запису (без читання). |
| a | Пошук файлу. Якщо файл відкрито успішно, fopen() завантажує його в пам’ять і встановлює покажчик, який вказує на останній символ у ньому. Якщо файл не існує, створюється новий файл. Повертає NULL, якщо неможливо відкрити файл. Файл відкривається тільки для додавання (запису в кінці файлу). коли закінчується q1 |
| r+ | Пошук файлу. Відкриває файл як для читання, так і для запису . У разі успішного відкриття fopen() завантажує його в пам’ять і встановлює покажчик, який вказує на перший символ у ньому. Повертає NULL, якщо неможливо відкрити файл. |
| w+ | Пошук файлу. Якщо файл існує, його вміст перезаписується. Якщо файл не існує, створюється новий файл. Повертає NULL, якщо неможливо відкрити файл. Різниця між w і w+ полягає в тому, що ми також можемо читати файл, створений за допомогою w+. |
| a+ | Пошук файлу. Якщо файл відкрито успішно, fopen() завантажує його в пам’ять і встановлює покажчик, який вказує на останній символ у ньому. Якщо файл не існує, створюється новий файл. Повертає NULL, якщо неможливо відкрити файл. Файл відкривається для читання та додавання (запис у кінець файлу). |
| рб | Відкрийте двійковий файл у режимі читання. Якщо файл не існує, функція open() повертає NULL. |
| wb | Відкрийте двійковий файл у режимі запису. Оскільки покажчик встановлено на початок файлу, то вміст перезаписано. Якщо файл не існує, a створюється новий файл. |
| аб | Відкрийте двійковий файл у режимі додавання. Покажчик файлу встановлено після останнього символу у файлі . А створюється новий файл якщо не існує файлу з такою назвою. |
| rb+ | Відкрийте двійковий файл у режимі читання та запису. Якщо файл не існує, функція open() повертає NULL. |
| wb+ | Відкрийте двійковий файл у режимі читання та запису. Вміст буде перезаписано, якщо файл існує. Він буде створений, якщо файл не існує. |
| ab+ | Відкрийте двійковий файл у режимі читання та додавання. Файл буде створено, якщо файл не існує. |
Повернене значення
- Функція використовується для повернення вказівника на FILE, якщо виконання виконано успішно, інакше повертається NULL.
Приклад fopen()
C
// C program to illustrate fopen()> #include> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >// Creates a file 'demo_file'> >// with file access as write-plus mode> >demo =>fopen>(>'demo_file.txt'>,>'w+'>);> >// adds content to the file> >fprintf>(demo,>'%s %s %s'>,>'Welcome'>,>'to'>,> >'techcodeview.com'>);> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }> |
>
>
Після виконання наступної команди буде створено новий файл із таким іменем demo_file.txt з таким змістом:
Welcome to techcodeview.com>
Тепер, якщо ми хочемо переглянути файл, нам потрібно запустити наступний код, який відкриє файл і відобразить його вміст.
C
// C program to illustrate fopen()> #include> int> main()> {> >// pointer demo to FILE> >FILE>* demo;> >int> display;> >// Creates a file 'demo_file'> >// with file access as read mode> >demo =>fopen>(>'demo_file.txt'>,>'r'>);> >// loop to extract every characters> >while> (1) {> >// reading file> >display =>fgetc>(demo);> >// end of file indicator> >if> (>feof>(demo))> >break>;> >// displaying every characters> >printf>(>'%c'>, display);> >}> >// closes the file pointed by demo> >fclose>(demo);> >return> 0;> }> |
>
>
Вихід
Welcome to techcodeview.com>
Інші статті про роботу з файлами в C:
- Основи обробки файлів у C
- fopen() для існуючого файлу в режимі запису
- EOF, getc() і feof() у C
- Режими відкриття файлів (r проти r+)