русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Открытие файла


Дата добавления: 2013-12-23; просмотров: 674; Нарушение авторских прав


Понятие потока

Организация работы с файлами

 

 

Язык Си, кроме стандартного ввода данных с клавиатуры и вывода результатов на экран, предоставляет также возможность обмена при операциях ввода/вывода с внешними устройствами, в том числе, с файлами на диске.

В Си не предусмотрены никакие предопределенные структуры файлов (такие как последовательного или прямого доступа). Все файлы рассматриваются как последовательности, потоки байтов.

Поток- это источник или приемник данных. Его можно связать с каким- либо внешним устройством, например, с принтером, клавиатурой, диском и т.д.

В языке Си определены два вида потоков: текстовый и бинарный.

Текстовый поток - это последовательность строк. Каждая строка содержит нуль и более символов и обязательно заканчивается символом – терминатором новая строка '\n'.

Бинарный или двоичный поток - это последовательность двоичных кодов (байтов), как правило, используемая для запоминания кодов машинного языка.

Поток соединяется с файлом или другим устройством посредством его открытия. Эта связь разрывается путём закрытия потока.

Открытие потока осуществляется функцией fopen(), а закрытие – функцией fclose().

Когда программа начинает работу, то автоматически открываются три потока: stdin, stdout, stderr.

STDIN –стандартный входной поток (по умолчанию связан с клавиатурой).

STDOUT – стандартный выходной поток (по умолчанию связан с экраном монитора).

STDERR – поток стандартных ошибок (связан с экраном монитора).

 

Для того, чтобы связать программу с файлом на диске, необходимо определить в программе переменную типа указатель на файл:

FILE *fp;

где FILE – это структура, определённая в <stdio.h> с помощью средства typedef и содержащая некоторую информацию о файле.



После того, как указатель на файл описан, его можно связать с конкретным файлом в момент открытия данного файла. Открыть файл можно с помощью следующей конструкции:

fp = fopen (“ имя_ файла”, “ режим_ доступа”);

Константы в круглых скобках имеют следующий смысл:

имя_файла – это параметр, характеризующий имя и тип используемого файла на диске, например, “test.txt”;

режим доступа – это параметр, характеризующий как должен использоваться данный файл. Этот параметр может принимать следующие значения:

’r’ -файл открывается для чтения (файл должен существовать на диске);

’w’ - файл открывается для записи; если файла с указанным именем нет, то он создаётся; если файл существует, то старое содержимое файла уничтожается;

’а’ - файл открывается, либо создаётся для дозаписи в конец файла;

’r+’ – файл открывается для чтения и записи (файл должен существовать).

’w+’ – файл открывается для чтения и записи; старое содержимое, если файл существовал, теряется.

’а+’ – файл открывается, либо создаётся для чтения уже существующей информации и добавления новой в конец файла.

Обычно по умолчанию файл считается текстовым, однако можно явно указать с каким файлом будет работать программа: текстовым (t) или бинарным (b), например:

r + t, w + b, at, wt +, и т. д.

Операцию открытия файла можно записать и так:

FILE *fp = fopen (‘test. txt’, ‘w’);

Теперь указатель fp будет связан с файлом на диске с именем ‘test.txt’. Во всех операциях с файлом теперь следует указывать fp.

 



<== предыдущая лекция | следующая лекция ==>
Динамические структуры | Закрытие файла


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.