- •Структуры
- •Доступ к членам структуры
- •Присваивание структур
- •Массивы структур
- •Объявление указателя на структуру
- •Использование указателей на структуру
- •Функция fclose()
- •Функции чтения-записи
- •Функции fread() и fwrite()
- •Использование fopen(), getc(), putc() и fclose()
- •Запись символа
- •Чтение символа
- •Использование feof()
- •Две расширенные функции: getw() и putw()
- •Работа со строками: fgets() и fputs()
- •Чтение и запись символов
- •Указатель на файл
- •Открытие файла
Указатель на файл
Указатель на файл - это указатель на информацию, определяющую различные параметры файла, включая его имя, состояние и текущую позицию.
FILE *fp;
Открытие файла
Прототип
FILE *fopen(const char *имя_файла, const char *режим);
Функция fopen() открывает для использования поток, связывает файл с данным потоком и затем возвращает указатель FILE на данный поток.
Таблица: Допустимые значения режимов |
|
Режим |
Значение |
"r" |
Открывает файл для чтения. (Открывает по умолчанию как текстовый файл.) |
"w" |
Создает файл для записи. (Открывает по умолчанию как текстовый файл.) |
"а" |
Присоединяет к файлу. (Открывает по умолчанию как текстовый файл.) |
"rb" |
Открывает двоичный файл для чтения. |
"wb" |
Открывает двоичный файл для записи. |
"ab" |
Присоединяет к двоичному файлу. |
"r+" |
Открывает файл для чтения/записи. (Открывает по умолчанию как текстовый файл.) |
"w+" |
Создает файл для чтения/записи. (Открывает по умолчанию как текстовый файл.) |
"a+" |
Присоединяет или создает файл для чтения/записи. (Открывает по умолчанию как текстовый файл.) |
"r+b" |
Открывает двоичный файл для чтения/записи. |
"w+b" |
Создает двоичный файл для чтения/записи. |
"a+b" |
Присоединяет или создает двоичный файл для чтения/записи. |
"rt" |
Открывает текстовый файл для чтения. |
"wt" |
Создает текстовый файл для записи. |
"at" |
Присоединяет к текстовому файлу. |
"r+t" |
Открывает текстовый файл для чтения. |
"w+t" |
Создает текстовый файл для чтения/записи. |
"a+t" |
Открывает или создает текстовый файл для чтения/записи. |
Пример
fp = fopen ("test", "w"); где fp - это переменная типа FILE *. Тем не менее обычно можно увидеть следующее: if((fp = fopen("test", "w"))==NULL) { puts ("Cannot open file."); exit (1); }
#include <stdio.h>
int main()
{
FILE *fp;
fp = fopen("logfile", "w");
if (fp == NULL)
printf("Open failed\n");
do { ch = getchar(); putc(ch, fp) ; } while (ch!='.'); fclose(fp); return 0; }
}
