ВУЗ:
Составители:
Рубрика:
2) ввод-вывод нижнего уровня;
3) ввод-вывод для консоли портов (зависит от конкретной ОС).
На уровне потокового ввода-вывода обмен данными производится
побайтно, т.е. за одно обращение к устройству (файлу) производится
считывание или запись фиксированной порции данных (512 или
1024 байта). При вводе с диска или при считывании из файла данные
помещаются в буфер ОС, а затем побайтно или порциями передаются
программе пользователя. При выводе в файл данные также накаплива-
ются в буфере, а при заполнении буфера записываются в виде единого
блока на диск. Буферы ОС реализуются в виде участков основной памя-
ти. Таким образом, поток – это файл вместе с предоставленными сред-
ствами буферизации. Функции библиотеки C, поддерживающие обмен
данными на уровне потока позволяют обрабатывать данные различных
размеров и форматов. При работе с потоком можно:
1) открывать и закрывать потоки (при этом указатели на поток свя-
зываются с конкретными файлами);
2) вводить и выводить строки, символы, форматированные данные,
порции данных произвольной длины;
3) управлять буферизацией потока и размером буфера;
4) получать и устанавливать указатель текущей позиции в файле.
Прототипы функций ввода-вывода находятся в заголовочном файле
<stdio.h>, который также содержит определения констант, типов
и структур, необходимых для обмена с потоком.
4.11.1.1 Открытие и закрытие потока
Прежде, чем начать работать с потоком, его надо инициировать, т. е.
открыть. При этом поток связывается со структурой предопределенного
типа FILE, определение которой находится в файле <stdio.h>. В структуре
находится указатель на буфер, указатель на текущую позицию и т.п. При
открытии потока возвращается указатель на поток, т.е. на объект типа
FILE. Указатель на поток должен быть объявлен следующим образом:
#include <stdio.h>
. . . . . . . .
FILE*f; //указатель на поток
Указатель на поток приобретает значение в результате выполнения
функции открытия потока:
FILE* fopen(const char*filename,const char*mode);
где const char*filename – строка, которая содержит имя файла, свя-
занного с потоком,
194
Страницы
- « первая
- ‹ предыдущая
- …
- 192
- 193
- 194
- 195
- 196
- …
- следующая ›
- последняя »
