Основы программирования на C++, PASCAL
Существуют стандартные потоки и потоки, объявляемые в программе. Последние обычно связываются с файлами на диске, создаваемыми программистом. Стандартные потоки назначаются и открываются системой автоматически. С началом работы любой программы открываются 5 стандартных потоков, из которых основными являются следующие:
• stdin — поток стандартного ввода (обычно связан с клавиатурой);
• stdout — поток стандартного вывода (обычно связан с дисплеем);
• stderr — вывод сообщений об ошибках (связан с дисплеем).
Кроме этого, открывается поток для стандартной печати и дополнительный поток для последовательного порта.
Работая ранее с программами на Си, используя функции ввода с клавиатуры и вывода на экран, мы уже неявно имели дело с первыми двумя потоками. А сообщения об ошибках, которые система выводила на экран, относились к третьему стандартному потоку. Поток для работы с дисковым файлом должен быть открыт в программе.
Работа с файлами на диске. Работа с дисковым файлом начинается с объявления указателя на поток. Формат такого объявления:
FILE *имя указателя;
Например:
FILE *fp;
Слово file является стандартным именем структурного типа, объявленного в заголовочном файле stdio.h. В структуре file содержится информация, с помощью которой ведется работа с потоком, в частности: указатель на буфер, указатель (индикатор) текущей позиции в потоке и т.д.
Следующий шаг — открытие потока, которое производится с помощью стандартной функции fopen (). Эта функция возвращает конкретное значение для указателя на поток и поэтому ее значение присваивается объявленному ранее указателю. Соответствующий оператор имеет формат:
имя_указателя={open(имя файла, режим_открытия);
Параметры функции fopen() являются строками, которые могут быть как константами, так и указателями на символьные массивы. Например:
fp=fopen("test.dat","r") ;
Здесь test. dat — это имя физического файла в текущем каталоге диска, с которым теперь будет связан поток с указателем fp. Параметр режима r означает, что файл открыт для чтения. Что касается терминологии, то допустимо употреблять как выражение «открытие потока», так и выражение «открытие файла».
Существуют следующие режимы открытия потока и соответствующие им параметры:
Как уже отмечалось