Программирование >>  Элементы языков с и с++ 

1 ... 57 58 59 [ 60 ] 61 62 63 ... 200


Глава 9

Si il Ч

Ввод и вывод в языках С и С++

Ввод и вывод в с

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

Ввод/вывод файлов

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

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

D г - файл открывается только для чтения из него;

□ W- файл открывается только для записи в него (если файл не существует, он создается);



П а- файл открывается для дозаписи информации в конец файла. Если файл не существует, он создается для записи в него;

П г+ - существующий файл открывается для обновления: чтения и записи;

□ W+ - создается новый файл для работы в режиме обновления: такой файл можно будет и читать, и записывать в него;

□ а+ - файл открывается для дозаписи информации в конец файла. Если, файл не существует, он создается. Если существует, то открывается для дозаписи в конец файла.

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

if((fp=fopen(name,mode)) = NULL)

{операторы обработки ошибки открытия} остальные операторы программы

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

Основные функции для работы с файлами

После того как файл открыт, для чтения или записи используют специальные] функции. Приведем перечень функций для работы с файлами.

П Функция fputC ().

Формат: fputc(c, fp);

Выводит символ в файл (с - выводимый символ, f р - указатель фай □ Функция fputs (). Формат:

fputs(S,fp);

Выводит строку в файл (s - выводимая строка, f р - указатель файла).



13JK.960

П Функция f getc ().

Формат: c=fgetc(fp) ;

Читает один символ из файла с указателем f р. Переменная с описана как char с. В случае ошибки или достижения конца файла возвращает EOF.

D Функция f gets ().

Формат:

fgets (s,maxline, fp) ;

Читает строку в s (s - массив символов или указатель типа char (предварительно должна быть выделена память для чтения с использованием указателя), maxline - максимальное число символов, которое требуется читать из файла с указателем f р). В случае ошибки или достижения конца файла возвращает null.

D Функция freadO.

Формат:

fread(buf, m, n, fp);

Читает из файла с указателем f р п элементов данных, каждый из которых имеет длину m байтов. Чтение происходит в буфер, на который указывает указатель (например, char buf[50] или char *buf (но в этом случае надо выделить память для буфера)). Общее количество байтов чтения составит nxm. Функция возвращает количество прочитанных элементов, а по достижении конца файла или возникновении ошибки чтения возвращает null.

D Функция fwrite (). Формат:

fwrite(const void ptr, m, n, fp);

Пишет в файл с указателем fp: добавляет п элементов в выходной файл, каждый элемент длиной в m байтов. Данные записываются из буфера, на который указывает указатель ptr (этот указатель указывает на некоторый объект, например, на структуру). Общее число записанных байтов равно nxm. В случае ошибки записи функция возвращает ноль, в противном случае - количество записанных элементов.

D Функция fseek (). Формат: fseelc(fp,n,m) ;



1 ... 57 58 59 [ 60 ] 61 62 63 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика