标准库标头 <stdio.h>
来自cppreference.com
此标头是输入输出库的一部分,提供通用的文件操作支持,还提供在窄字符上工作的 I/O 函数。
本节未完成 原因:7.23 Input/output <stdio.h>; copy/share subset of c/io |
[编辑]概要
#define __STDC_VERSION_STDIO_H__ 202311L typedef/* 见描述 */FILE;typedef/* 见描述 */size_t;typedef/* 见描述 */FILE;typedef/* 见描述 */fpos_t; #define NULL /* 见描述 */#define _IOFBF /* 见描述 */#define _IOLBF /* 见描述 */#define _IONBF /* 见描述 */#define BUFSIZ /* 见描述 */#define EOF /* 见描述 */#define FOPEN_MAX /* 见描述 */#define FILENAME_MAX /* 见描述 */#define L_tmpnam /* 见描述 */#define SEEK_CUR /* 见描述 */#define SEEK_END /* 见描述 */#define SEEK_SET /* 见描述 */#define TMP_MAX /* 见描述 */ #define stdin /* 见描述 */#define stdout /* 见描述 */#define stderr /* 见描述 */ #define _PRINTF_NAN_LEN_MAX /* 见描述 */ intremove(constchar* filename);intrename(constchar* old, constchar* new);FILE*tmpfile(void);char*tmpnam(char* s);intfclose(FILE* stream);intfflush(FILE* stream);FILE*fopen(constchar*restrict filename, constchar*restrict mode);FILE*freopen(constchar*restrict filename, constchar*restrict mode, FILE*restrict stream);voidsetbuf(FILE*restrict stream, char*restrict buf);intsetvbuf(FILE*restrict stream, char*restrict buf, int mode, size_t size);intprintf(constchar*restrict format, ...);intscanf(constchar*restrict format, ...);intsnprintf(char*restrict s, size_t n, constchar*restrict format, ...);intsprintf(char*restrict s, constchar*restrict format, ...);intsscanf(constchar*restrict s, constchar*restrict format, ...);intvfprintf(FILE*restrict stream, constchar*restrict format, va_list arg);intvfscanf(FILE*restrict stream, constchar*restrict format, va_list arg);intvprintf(constchar*restrict format, va_list arg);intvscanf(constchar*restrict format, va_list arg);intvsnprintf(char*restrict s, size_t n, constchar*restrict format, va_list arg);intvsprintf(char*restrict s, constchar*restrict format, va_list arg);intvsscanf(constchar*restrict s, constchar*restrict format, va_list arg);intfgetc(FILE* stream);char*fgets(char*restrict s, int n, FILE*restrict stream);intfputc(int c, FILE* stream);intfputs(constchar*restrict s, FILE*restrict stream);intgetc(FILE* stream);intgetchar(void);intputc(int c, FILE* stream);intputchar(int c);intputs(constchar* s);intungetc(int c, FILE* stream);size_tfread(void*restrict ptr, size_t size, size_t nmemb, FILE*restrict stream);size_tfwrite(constvoid*restrict ptr, size_t size, size_t nmemb, FILE*restrict stream);intfgetpos(FILE*restrict stream, fpos_t*restrict pos);intfseek(FILE* stream, longint offset, int whence);intfsetpos(FILE* stream, constfpos_t* pos);longintftell(FILE* stream);voidrewind(FILE* stream);voidclearerr(FILE* stream);intfeof(FILE* stream);intferror(FILE* stream);voidperror(constchar* s);intfprintf(FILE*restrict stream, constchar*restrict format, ...);intfscanf(FILE*restrict stream, constchar*restrict format, ...);
仅当实现定义了 __STDC_LIB_EXT1__,而且用户代码在对 <stdio.h>
的所有包含之前定义了 __STDC_WANT_LIB_EXT1__:
#if defined(__STDC_WANT_LIB_EXT1__) #define L_tmpnam_s /* 见描述 */#define TMP_MAX_S /* 见描述 */ typedef/* 见描述 */ errno_t;typedef/* 见描述 */ 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, constchar*restrict filename, constchar*restrict mode); errno_t freopen_s(FILE*restrict*restrict newstreamptr, constchar*restrict filename, constchar*restrict mode, FILE*restrict stream);int fprintf_s(FILE*restrict stream, constchar*restrict format, ...);int fscanf_s(FILE*restrict stream, constchar*restrict format, ...);int printf_s(constchar*restrict format, ...);int scanf_s(constchar*restrict format, ...);int snprintf_s(char*restrict s, rsize_t n, constchar*restrict format, ...);int sprintf_s(char*restrict s, rsize_t n, constchar*restrict format, ...);int sscanf_s(constchar*restrict s, constchar*restrict format, ...);int vfprintf_s(FILE*restrict stream, constchar*restrict format, va_list arg);int vfscanf_s(FILE*restrict stream, constchar*restrict format, va_list arg);int vprintf_s(constchar*restrict format, va_list arg);int vscanf_s(constchar*restrict format, va_list arg);int vsnprintf_s(char*restrict s, rsize_t n, constchar*restrict format, va_list arg);int vsprintf_s(char*restrict s, rsize_t n, constchar*restrict format, va_list arg);int vsscanf_s(constchar*restrict s, constchar*restrict format, va_list arg);char* gets_s(char* s, rsize_t n);#endif