Далее приведена синтаксическая запись функции:
<b>#include <stdio.h></b>
<b>int fflush(FILE *stream);</b>
fseek
Функция
fseek
— это эквивалент для файлового потока системного вызова
lseek
. Она задает в
stream
позицию для следующей операции чтения этого потока или записи в него. Значения и смысл параметров
offset
и
whence
такие же, как у ранее описанных одноименных параметров вызова
lseek
. Но там, где
lseek
возвращает
off_t
, функция
fseek
возвращает целое число: 0, если выполнилась успешно, и -1 при аварийном завершении с ошибкой, указанной в переменной
errno
. Какое поле деятельности для стандартизации!
Далее приведена синтаксическая запись функции:
<b>#include <stdio.h></b>
<b>int fseek(FILE *stream, long int offset, int whence);</b>
fgetc, getc и getchar
Функция
fgetc
возвращает из файлового потока следующий байт как символ. Когда она достигает конца файла или возникает ошибка, функция возвращает
EOF
. Для того чтобы различить эти два случая, следует применять функции
ferror
или
feof
.
Далее приведена синтаксическая запись функций:
<b>#include <stdio.h></b>
<b>int fgetc(FILE *stream);</b>
<b>int getc(FILE *stream);</b>
<b>int getchar();</b>
Функция
getc
эквивалентна
fgetc
за исключением того, что может быть реализована как макрос. В этом случае аргумент
stream
может определяться несколько раз, поэтому он лишен побочных эффектов (например, не затронет переменные). К тому же вы не можете гарантировать возможности применения адреса
getc
как указателя функции.
Функция
getchar
эквивалентна вызову функции
getc(stdin)
и читает следующий символ из стандартного ввода.
fputc, putc и putchar
Функция
fputc
записывает символ в файловый поток вывода. Она возвращает записанное значение или
EOF
в случае аварийного завершения.
<b>#include <stdio.h></b>
<b>int fputc(int с, FILE *stream); int putc(int c, FILE *stream); int putchar(int c);</b>
Как и в случае функций
fgetc/getc
, функция
putc
— эквивалент
fputc
, но может быть реализована как макрос.
Функция
putchar
— то же самое, что вызов
putc(с, stdout)
, записывающий один символ в стандартный вывод. Имейте в виду, что функция
putchar
принимает, а функция
getchar
возвращает символы как данные типа
int
, а не
char
. Это позволяет индикатору конца файла (
EOF
) принимать значение -1, лежащее вне диапазона кодов символов.
fgets и gets
Функция
fgets
читает строку из файла ввода
stream
.
<b>#include <stdio.h></b>
<b>char *fgets(char *s, int n, FILE *stream);</b>
<b>char *gets(char *s);</b>
Функция
fgets
пишет символы в строку, заданную указателем
s
, до тех пор, пока не встретится новая строка, либо не будет передано
n-1
символов, либо не будет достигнут конец файла. Любая встретившаяся новая строка передается в строку, принимающую символы, и добавляется завершающий нулевой байт