Заголовок стандартной библиотеки <stdio.h>
Этот заголовок является частью библиотеки ввода/вывода, предоставляющей поддержку общих файловых операций и функции ввода-вывода для работы с узкими символами.
Типы
| тип объекта, способного хранить всю информацию, необходимую для управления потоком ввода-вывода C (определение типа) |
|
| завершённый тип объекта, не являющийся массивом, способный однозначно задавать позицию и состояние анализатора многобайтовых символов в файле (определение типа) |
Предопределённые стандартные потоки
| выражение типа FILE*, связанное с потоком ввода выражение типа FILE*, связанное с потоком вывода выражение типа FILE*, связанное с потоком вывода ошибок (макроконстанта) |
Функции
Доступ к файлам |
|
|
(C11) | открывает файл (функция) |
|
(C11) | открывает существующий поток под другим именем (функция) |
| закрывает файл (функция) |
|
| синхронизирует выходной поток с фактическим файлом (функция) |
|
| задаёт буфер для файлового потока (функция) |
|
| задаёт буфер и его размер для файлового потока (функция) |
|
Прямой ввод/вывод |
|
| читает данные из файла (функция) |
|
| записывает данные в файл (функция) |
|
Неформатированный ввод/вывод |
|
Узкие символы |
|
| получает символ из файлового потока (функция) |
|
| получает строку символов из файлового потока (функция) |
|
| записывает символ в файловый поток (функция) |
|
| записывает строку символов в файловый поток (функция) |
|
читает символ из stdin (функция) |
|
|
(удалена в C11)(C11) | читает строку символов из stdin (функция) |
записывает символ в stdout (функция) |
|
записывает строку символов в stdout (функция) |
|
| возвращает символ в файловый поток (функция) |
|
Форматированный ввод/вывод |
|
Узкие символы |
|
|
(C11)(C11)(C11) | считывает форматированные данные из stdin, файлового потока или буфера (функция) |
|
(C99)(C99)(C99)(C11)(C11)(C11) | считывает форматированные данные из stdin, файлового потока или буферас использованием списка аргументов переменной длины (функция) |
|
(C99)(C11)(C11)(C11)(C11) | выводит форматированные данные в stdout, файловый поток или буфер (функция) |
|
(C99)(C11)(C11)(C11)(C11) | выводит форматированные данные в stdout, файловый поток или буферс использованием списка аргументов переменной длины (функция) |
Позиционирование в файле |
|
| возвращает текущий указатель позиции в файле (функция) |
|
| получает указатель позиции в файле (функция) |
|
| перемещает указатель позиции в файле в заданное место файла (функция) |
|
| перемещает указатель позиции в файле в заданное место файла (функция) |
|
| перемещает указатель позиции в файле в начало файла (функция) |
|
Обработка ошибок |
|
| сбрасывает ошибки (функция) |
|
| проверяет достижение конца файла (функция) |
|
| проверяет наличие ошибки файла (функция) |
|
выводит в stderr строку символов, соответствующую текущей ошибке (функция) |
|
Операции с файлами |
|
| удаляет файл (функция) |
|
| переименовывает файл (функция) |
|
|
(C11) | возвращает указатель на временный файл (функция) |
|
(C11) | возвращает уникальное имя файла (функция) |
Макроконстанты
|
EOF | целочисленное константное выражение типа int с отрицательным значением (макроконстанта) |
|
FOPEN_MAX | максимальное количество файлов, которые могут быть открыты одновременно (макроконстанта) |
|
FILENAME_MAX | размер массива типа char, необходимого для хранения самого длинного поддерживаемого имени файла (макроконстанта) |
|
_PRINTF_NAN_LEN_MAX
(C23) | максимальное количество символов, выводимых для любого значения NaN (возможно, с отрицательным знаком) (макроконстанта) |
|
BUFSIZ | размер буфера, используемого setbuf (макроконстанта) |
|
_IOFBF_IOLBF_IONBF | задаёт режим буферизации (полная буферизация / построчная буферизация / без буферизации) для setvbuf (макроконстанта) |
|
SEEK_SETSEEK_CURSEEK_END | задаёт начальную точку смещения (начало / текущая позиция / конец), используемую fseek (макроконстанта) |
|
TMP_MAXTMP_MAX_S
(C11) | максимальное количество уникальных имён файлов, которые могут быть созданы с помощью tmpnam / tmpnam_s (макроконстанта) |
|
L_tmpnamL_tmpnam_s
(C11) | размер массива типа char, необходимого для хранения результата tmpnam / tmpnam_s (макроконстанта) |
Обзор
#define __STDC_VERSION_STDIO_H__ 202311L typedef /* see description */ FILE; typedef /* see description */ size_t; typedef /* see description */ FILE; typedef /* see description */ fpos_t; #define NULL /* see description */ #define _IOFBF /* see description */ #define _IOLBF /* see description */ #define _IONBF /* see description */ #define BUFSIZ /* see description */ #define EOF /* see description */ #define FOPEN_MAX /* see description */ #define FILENAME_MAX /* see description */ #define L_tmpnam /* see description */ #define SEEK_CUR /* see description */ #define SEEK_END /* see description */ #define SEEK_SET /* see description */ #define TMP_MAX /* see description */ #define stdin /* see description */ #define stdout /* see description */ #define stderr /* see description */ #define _PRINTF_NAN_LEN_MAX /* see description */ int remove(const char* filename); int rename(const char* old, const char* new); FILE* tmpfile(void); char* tmpnam(char* s); int fclose(FILE* stream); int fflush(FILE* stream); FILE* fopen(const char* restrict filename, const char* restrict mode); FILE* freopen(const char* restrict filename, const char* restrict mode, FILE* restrict stream); void setbuf(FILE* restrict stream, char* restrict buf); int setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size); int printf(const char* restrict format, ...); int scanf(const char* restrict format, ...); int snprintf(char* restrict s, size_t n, const char* restrict format, ...); int sprintf(char* restrict s, const char* restrict format, ...); int sscanf(const char* restrict s, const char* restrict format, ...); int vfprintf(FILE* restrict stream, const char* restrict format, va_list arg); int vfscanf(FILE* restrict stream, const char* restrict format, va_list arg); int vprintf(const char* restrict format, va_list arg); int vscanf(const char* restrict format, va_list arg); int vsnprintf(char* restrict s, size_t n, const char* restrict format, va_list arg); int vsprintf(char* restrict s, const char* restrict format, va_list arg); int vsscanf(const char* restrict s, const char* restrict format, va_list arg); int fgetc(FILE* stream); char* fgets(char* restrict s, int n, FILE* restrict stream); int fputc(int c, FILE* stream); int fputs(const char* restrict s, FILE* restrict stream); int getc(FILE* stream); int getchar(void); int putc(int c, FILE* stream); int putchar(int c); int puts(const char* s); int ungetc(int c, FILE* stream); size_t fread(void* restrict ptr, size_t size, size_t nmemb, FILE* restrict stream); size_t fwrite(const void* restrict ptr, size_t size, size_t nmemb, FILE* restrict stream); int fgetpos(FILE* restrict stream, fpos_t* restrict pos); int fseek(FILE* stream, long int offset, int whence); int fsetpos(FILE* stream, const fpos_t* pos); long int ftell(FILE* stream); void rewind(FILE* stream); void clearerr(FILE* stream); int feof(FILE* stream); int ferror(FILE* stream); void perror(const char* s); int fprintf(FILE* restrict stream, const char* restrict format, ...); int fscanf(FILE* restrict stream, const char* restrict format, ...);
Только если реализация определяет __STDC_LIB_EXT1__ и дополнительно пользовательский код определяет __STDC_WANT_LIB_EXT1__ до любого включения <stdio.h>:
#if defined(__STDC_WANT_LIB_EXT1__) #define L_tmpnam_s /* see description */ #define TMP_MAX_S /* see description */ typedef /* see description */ errno_t; typedef /* see description */ rsize_t; errno_t tmpfile_s(FILE* restrict* restrict streamptr); errno_t tmpnam_s(char* s, rsize_t maxsize); errno_t fopen_s(FILE* restrict* restrict streamptr, const char* restrict filename, const char* restrict mode); errno_t freopen_s(FILE* restrict* restrict newstreamptr, const char* restrict filename, const char* restrict mode, FILE* restrict stream); int fprintf_s(FILE* restrict stream, const char* restrict format, ...); int fscanf_s(FILE* restrict stream, const char* restrict format, ...); int printf_s(const char* restrict format, ...); int scanf_s(const char* restrict format, ...); int snprintf_s(char* restrict s, rsize_t n, const char* restrict format, ...); int sprintf_s(char* restrict s, rsize_t n, const char* restrict format, ...); int sscanf_s(const char* restrict s, const char* restrict format, ...); int vfprintf_s(FILE* restrict stream, const char* restrict format, va_list arg); int vfscanf_s(FILE* restrict stream, const char* restrict format, va_list arg); int vprintf_s(const char* restrict format, va_list arg); int vscanf_s(const char* restrict format, va_list arg); int vsnprintf_s(char* restrict s, rsize_t n, const char* restrict format, va_list arg); int vsprintf_s(char* restrict s, rsize_t n, const char* restrict format, va_list arg); int vsscanf_s(const char* restrict s, const char* restrict format, va_list arg); char* gets_s(char* s, rsize_t n); #endif
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/header/stdio