Основы программирования на языке Си. Кучин Н.В - 76 стр.

UptoLike

Составители: 

76
7. ВВОД/ВЫВОД И РАБОТА С ФАЙЛАМИ
7.1. Организация ввода-вывода
В языке С отсутствуют специальные операторы ввода-вывода. Все действия,
связанные с вводом-выводом, выполняются с помощью функций библиотеки
С. Программист может также создать свои собственные функции ввода-вывода
на основе библиотечных. При вводе-выводе все данные рассматриваются как
поток байтов, связанный либо с файлом на диске, либо с нефайловым физичес-
ким устройством (клавиатура, экран монитора, принтер и т. п.). Функции вво-
да-вывода позволяют выделять из потока и обрабатывать данные различных
форматов и размеров, обеспечивая при этом буферизированный форматиро-
ванный или неформатированный ввод или вывод.
Для использования функций ввода-вывода необходимо директивой #include
включить файл stdio.h, содержащий объявления функций ввода-вывода, а так-
же определение констант, типов и структур, используемых этими функциями.
Открытие потока осуществляется функцией fopen. При успешном открытии
эта функция возвращает указатель структуры типа FILE, которая содержит ин-
формацию, необходимую для работы с потоком. При ошибке открытия возвра-
щается значение NULL, которое определено как константа в stdio.h. Указатель
потока используется в дальнейшем во всех функциях вашей программы, рабо-
тающих с данным потоком. Количество одновременно открытых потоков огра-
ничевается установками операционной системы.
Параметрами функции fopen являются строка, указывающая путь к файлу и
его имя, и строка, определяющая тип доступа к потоку. Литерал типа доступа
может иметь значения: “r” – для чтения, “w” – для записи, “a” - для записи в
конце потока, “r+” – для чтения и записи, “w+” – пустой поток для чтения и
записи, “a+” – для чтения и записи в конце потока. Закрытие потока осуществ-
ляется функцией fclose. Указатель потока можно позиционировать на любое
место в потоке. Для получения текущей позиции в потоке используются функ-
ции ftell и fgetpos, для изменения позиции указателя – fseek и fsetpos. В stdio.h
определены стандартные указатели потоков: stdin – стандартный ввод(клавиа-
тура), stdout – стандартный вывод(дисплей), stdprn – стандартная печать, stderr