Функции открытия и закрытия файлов
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;