Шаг 81.
Microsoft Visual C++ 2010. Язык С/С++.
Ввод и вывод в языках C и C++. Ввод/вывод файлов в языке C (общие сведения)

    На этом шаге мы приведем общие сведения об организации взаимодействия программы с файлом, а также рассмотрим особенности открытия файла.

    Ввод/вывод в языках С и C++ осуществляется функциями из стандартных библиотек. Чтобы ими воспользоваться, в программу надо включить ссотвествующие h-файлы: stdio.h, stdlib.h, conio.h и др. Главная библиотека stdio.h. В ней содержатся основные функции ввода/вывода, в том числе обеспечивающие стандартный ввод/вывод.

Ввод/вывод файлов в языке C

    Чтобы работать с файлом, его сначала следует открыть: связать со специальной структурой с именем FILE, которая описана в библиотеке stdio.h и в которой задаются характеристики файла (размер буфера ввода/вывода, состояние файла, последняя прочитанная запись и т. п.). Связь эта выполняется помощью функции fopen(), которая тоже входит в библиотеку stdio.h и возвращает указатель на структуру FILE. Поэтому в программе прежде всего следует задать указатель на структуру FILE (например, FILE *fp;), а затем записать оператор собственно открытия файла:

  fp = fopen (имя файла, способ открытия файла);

    Функция открытия имеет два параметра:

    Способ открытия файла определяет, как будет пользователь работать с файлом: читать его, писать в него или делать что-то еще. Рассмотрим способы открытия файла:

    Если по какой-либо причине открытия файла не произошло (например, задано имя несуществующего файла), то функция fopen() возвращает значение NULL. Поэтому открытие файла следует осуществлять так:

  if ((fp = fopen (name,mode)) == NULL)
    {операторы обработки ошибки открытия} 
  остальные операторы программы

    После того как программа с данным файлом отработала, следует "отвязать" структуру FILE от отработавшего файла или, как говорят, закрыть файл. Это осуществляет функция fclose(fp). Она не только разрывает связь структуры с файлом, но и записывает в память оставшееся содержимое буфера ввода/вывода, через который собственно и организуется ввод/вывод. Только после закрытия файла с ним можно выполнять какие-либо действия, т. к. он "свободен", "не привязан". Например, его можно удалить или заново открыть в другом режиме открытия и т. д.

    На следующем шаге мы рассмотрим основные функции для работы с файлами.




Предыдущий шаг Содержание Следующий шаг