Функции открытия и закрытия файлов

FILE *fopen(char *filename, char *type) - открытие файла. В качестве пер­вого аргумента передается имя файла.

Второй аргумент определяет тип открываемого файла:

r - открыть уже существующий файл на ввод;

w - создать новый файл или очистить уже существующий файл и открыть его на вывод;

а - создать новый файл для вывода или осуществить вывод в конец уже существующего файла;

r+ - открыть существующий файл для обновления с начала файла;

w+ - создать новый или очистить существующий файл для обновления его со­держимого;

а+ - создать новый файл или подстроиться в конец существующего файла для обновления его содержимого.

Дополнительно к каждой из приведенных строк можно добавить символ

b - открывается двоичный файл.

Функция fopen возвращает указатель (файловая переменная) на структуру FILE, описывающую файл. Если при открытии файла произош­ли какие-либо ошибки, то в глобальную переменную еrrnо будет записан код (номер) ошибки, и будет возвра­щен нулевой (0) указатель.

int fclose (FILE *file) - файл закрывается. Если за­крытие выполняется правильно, то возвращается 0, иначе ‑ EOF;

void rewind (FILE *file) ‑ указатель файла перемещается в начало файла.

Функции ввода

Int fgetc(FILE *file) -из указанного входного файла считывается очеред­ной символ, и его значение перево­дится в тип int. Если при считывании обна­ружи­вает­ся ошибка или достигается конец файла, то возвращается значение EOF.

Int getchar() -из стандартного входного файла stdin считывается очеред­ной символ, и его значение пере­водится в тип int.

Int getch() - аналогична getchar, но не требует нажатия клавиши после вво­да символа и останавливает работу программы до нажатия клавиши. Эта функция используется для ввода односимволь­ного ответа.

int fseek(FILE *file, long offset, Int wherefrom) -служит для произволь­ного доступа к символам, обычно внутри двоичных файлов. Первый аргумент задает имя файла Второй аргумент offset является длинным целым числом со знаком и указывает число байтов смещения от точки, определяемой третьим параметром функции. Третий аргумент wherefrom указывает точку, от ко­торой следует начинать отсчет смещения: от нача­ла файла (0), текущей позиции файла (1), от конца файла (2).

char *fgets(char *s, Int n, FILE *file) -в строку s считываются символы до тех пор, пока не будет выполнено первым одно из условий: начнется новая строка, достигнут конец файла или прочитано n-1 символов. После того как из входного файла в строку s бу­дут прочитаны символы, строка до­пол­няется ноль‑символом (признак конца строки). Если операция счи­ты­ва­ния прошла успешно, то возвращается адрес строки s, иначе ‑ нуль.

char *gets( char *s) -выполняется считывание сим­волов из стандартного входного файла stdin. Если вход­ной файл прерывается символом перехода на новую строку ‘\n’, то этот символ не попадает в строку s.

Int fread( void *ptr, unsigned elem_size, int count, FILE *file) -из входного файла считыва­ются и по адресу *ptr записываются не более чем количест­во count элементов размером elem_size байтов каждый. Функция возвра­щает число фактически считанных элементов.

Int feof(FILE *file) -если при чтении из указанного файла достигнут конец файла (попытка прочитать символ за пределами файла), то возвра­щает­ся ненулевое значение, иначе - нулевое значение.

int scanfОшибка! Закладка не определена. (char *fornat, <дополнительные аргументы> );

int fscanf(FILE *strea», char *format,< дополнительные аргументы> );

int sscanf(char *string, char *fогmаt,< дополнительные аргументы> );

int cscanf(char *format, <дополнительные аргументы> );

Все функции семейства scanf вводят поля символ за символом, переводя их в соответствии с указанным форма­том. Функцией scanf осуществляется ввод из стандартного файла stdin. Функция fscanf может вводить из файла, указанного пользователем. Фун­кция sscanf вводит из заданной строки. Функция cscanf вводит с кон­соли. Первое .вводимое поле преобразуется в соответствии со спецификацией формата, и полу­ченное значение заносится по адресу первого аргумента. Следующее поле переводится в соответ­ст­вии со второй спецификацией фор­мата и т.д. Спецификация формата аналогична спецификации формата для семейства функций printf (п. 6.2.4).

Поля ввода определяются по следующим правилам:

группа символов до (но не включая) символа - раз­делителя;

группа символов до такого символа, который не мо­жет быть преоб­ра­зо­ван в соответствии с текущей спецификацией;

группа из n символов, где n - указатель ширины по­ля.

Функции вывода

Int fflush(FILE *file) -служит для выталкивания каждого внутреннего бу­­фера на соответствующее устройство. После вызова функции файл остается открытым. Если при выполнении функции появятся ошибки, то будет возвращено значение EOF, иначе - 0.

Int fputc(char ch, FILE *file) - символ ch записывается в указанный выход­ной файл. Если запись прошла успешно, то возвращается значение ch.

int putchar(char ch) -действует аналогично функции fputc, но записывает символ ch в стандартный выходной файл stdout.

Int fputs(char *s, FILE *file) -строка s, ограниченная ноль-символом, переписывается в выходной файл, причем ноль-символ отбрасывается. Если при переписи возникает ошибка, то возвращается значе­ние EOF, в противном случае возвращается ненулевое зна­чение.

Int puts(char *s) -функция аналогична функции fputs, за исключением того, что символы переписываются в стандартный файл stdout, и строка s дополняется ноль‑символом конца строки.

Int fwrite(void *ptr, unsigned elem_size,Int count,FILE <stream>) -начиная с адреса ptr, считывается не более чем количество count элементов размером elem_size байтов каждый, и эти элементы записываются в вы­ход­ной файл. Функция возвращает число фактически записанных элементов.

Int fprintf(FILE *stream,char *format,< список выводимых значений> );

Int printf(char *format ,<список выводимых значений> );

Int sprintf(char *s, char *foramt, < список выводимых значений> );

Int cprintf(char *format, < список выводимых значений> );

С помощью этих функций выполняется форматный вывод соот­ветственно в: выход­ной файл (fprintf), в стандартный выходной файл stdout (fprintf), ука­зан­ную строку (sprintf) или на терминал (cprintf). Функции возвращают число символов, переданных по назначе­нию.

Строка формата (char *format) задает редактирование данных (п. 6.2.5).








Дата добавления: 2016-03-22; просмотров: 1077;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.