int fseek(FILE *stream, long int offset, int whence);
Функция fgetc
EOF. Для того чтобы различить эти два случая, следует применять функции ferror или feof.Далее приведена синтаксическая запись функций:
#include
int fgetc(FILE *stream);
int getc(FILE *stream);
int getchar;
Функция getc
fgetc за исключением того, что может быть реализована как макрос. В этом случае аргумент stream может определяться несколько раз, поэтому он лишен побочных эффектов (например, не затронет переменные). К тому же вы не можете гарантировать возможности применения адреса getc как указателя функции.Функция getchar
getc(stdin) и читает следующий символ из стандартного ввода.Функция fputc
EOF в случае аварийного завершения.#include
int fputc(int с, FILE *stream); int putc(int c, FILE *stream); int putchar(int c);
Как и в случае функций fgetc/getc
putc — эквивалент fputc, но может быть реализована как макрос.Функция putchar
putc(с, stdout), записывающий один символ в стандартный вывод. Имейте в виду, что функция putchar принимает, а функция getchar возвращает символы как данные типа int, а не char. Это позволяет индикатору конца файла (EOF) принимать значение -1, лежащее вне диапазона кодов символов.Функция fgets
stream.#include
char *fgets(char *s, int n, FILE *stream);
char *gets(char *s);
Функция fgets
s, до тех пор, пока не встретится новая строка, либо не будет передано n-1 символов, либо не будет достигнут конец файла. Любая встретившаяся новая строка передается в строку, принимающую символы, и добавляется завершающий нулевой байт \0. Любой вызов передает максимум n-1 символов, т.к. должен быть вставлен нулевой байт, обозначающий конец строки и увеличивающий общее количество до n байтов.При успешном завершении функция fgets
s. Если поток указывает на конец файла, она устанавливает индикатор EOF для потока и возвращает пустой указатель. Если возникает ошибка чтения, fgets возвращает пустой указатель и устанавливает значение переменной errno, соответствующее типу ошибки.Функция gets
fgets за исключением того, что она читает из стандартного ввода и отбрасывает любые обнаруженные обозначения новой строки. Функция добавляет завершающий нулевой байт в принимающую строку.Учтите, что функция gets
fgets. Многие проблемы безопасности порождены функциями в программах, сделанных для переполнения буфера тем или иным способом. Это одна из таких функций, поэтому будьте осторожны!Форматированные ввод и вывод
Для создания вывода управляемого вида существует ряд библиотечных функций, с которыми вы, возможно, знакомы, если программируете на языке С. К ним относятся функция printf
scanf и другие функции для чтения значений из файлового потока.Семейство функций printf
format, являющимся строкой с обычными символами и кодами, называемыми#include
int printf(const char *format, ...);
int sprintf(char *s, const char *format, ...);
int fprintf(FILE * stream, const char *format, ...);