标准库头文件
C++
编译器支持
自由(freestanding)与宿主(hosted)
语言
标准库
标准库头文件
具名要求
特性测试宏 (C++20)
语言支持库
概念库 (C++20)
诊断库
内存管理库
元编程库 (C++11)
通用工具库
容器库
迭代器库
范围库 (C++20)
算法库
字符串库
文本处理库
数值库
日期和时间库
输入/输出库
文件系统库 (C++17)
并发支持库 (C++11)
执行控制库 (C++26)
技术规范
符号索引
外部库
[编辑] 标准库头文件
语言支持
概念
诊断
内存管理
元编程
通用工具
容器
(C++20)
迭代器
Ranges
算法
字符串
文本处理
数值
时间
C 兼容性
输入/输出
并发支持
执行支持
[编辑]
此头文件最初是 C 标准库的一部分,命名为
此头文件是 C 风格输入/输出库的一部分。
目录
1 类型
2 宏
3 函数
3.1 文件访问
3.2 直接输入/输出
3.3 非格式化输入/输出
3.4 窄字符
3.5 格式化输入/输出
3.6 窄/多字节字符
3.7 文件定位
3.8 错误处理
3.9 文件操作
4 概要
5 注释
类型
FILE
对象类型,能够保存控制 C I/O 流所需的所有信息 (typedef) [编辑]
fpos_t
完整的非数组对象类型,能够唯一指定文件中的位置,包括其多字节解析状态 (typedef) [编辑]
size_t
由 sizeof 运算符返回的无符号整型 (typedef) [编辑]
宏
NULL
实现定义的空指针常量 (宏常量) [编辑]
stdinstdoutstderr
与输入流关联的 FILE* 类型的表达式与输出流关联的 FILE* 类型的表达式与错误输出流关联的 FILE* 类型的表达式 (宏常量) [编辑]
EOF
类型为 int 且值为负的整数常量表达式 (宏常量)
FOPEN_MAX
可以同时打开的最大文件数 (宏常量)
FILENAME_MAX
容纳最长支持的文件名所需的 char 数组大小 (宏常量)
BUFSIZ
由 std::setbuf 使用的缓冲区大小 (宏常量)
_IOFBF_IOLBF_IONBF
std::setbuf 的参数,指示完全缓冲 I/Ostd::setbuf 的参数,指示行缓冲 I/Ostd::setbuf 的参数,指示无缓冲 I/O (宏常量)
SEEK_SETSEEK_CURSEEK_END
std::fseek 的参数,指示从文件开头查找std::fseek 的参数,指示从当前文件位置查找std::fseek 的参数,指示从文件末尾查找 (宏常量)
TMP_MAX
由 std::tmpnam 生成的最大唯一文件名数 (宏常量)
L_tmpnam
容纳 std::tmpnam 结果所需的 char 数组大小 (宏常量)
函数
文件访问
fopen
打开文件 (函数) [编辑]
freopen
用不同的名称打开一个现有流 (函数) [编辑]
fclose
关闭文件 (函数) [编辑]
fflush
将输出流与实际文件同步 (函数) [编辑]
setbuf
为文件流设置缓冲区 (函数) [编辑]
setvbuf
为文件流设置缓冲区及其大小 (函数) [编辑]
直接输入/输出
fread
从文件读取 (函数) [编辑]
fwrite
写入文件 (函数) [编辑]
非格式化输入/输出
窄字符
fgetcgetc
从文件流中获取一个字符 (函数) [编辑]
fgets
从文件流获取字符字符串 (函数) [编辑]
fputcputc
向文件流写入一个字符 (函数) [编辑]
fputs
将字符字符串写入文件流 (函数) [编辑]
getchar
从 stdin 读取一个字符 (函数) [编辑]
gets(C++11 起已弃用)(C++14 起移除)
从 stdin 读取一个字符串 (函数) [编辑]
putchar
向 stdout 写入一个字符 (函数) [编辑]
puts
向 stdout 写入一个字符串 (函数) [编辑]
ungetc
将一个字符放回文件流中 (函数) [编辑]
格式化输入/输出
窄/多字节字符
scanffscanfsscanf
从 stdin、文件流或缓冲区读取格式化输入 (函数) [编辑]
vscanfvfscanfvsscanf(C++11)(C++11)(C++11)
从 stdin、文件流或缓冲区读取格式化输入使用可变参数列表 (函数) [编辑]
printffprintfsprintfsnprintf(C++11)
将格式化输出打印到 stdout、文件流或缓冲区 (函数) [编辑]
vprintfvfprintfvsprintfvsnprintf(C++11)
将格式化输出打印到 stdout、文件流或缓冲区使用可变参数列表 (函数) [编辑]
文件定位
ftell
返回当前文件位置指示器 (函数) [编辑]
fgetpos
获取文件位置指示器 (函数) [编辑]
fseek
将文件位置指示器移动到文件中特定位置 (函数) [编辑]
fsetpos
将文件位置指示器移动到文件中特定位置 (函数) [编辑]
rewind
将文件位置指示器移动到文件开头 (函数) [编辑]
错误处理
clearerr
清除错误 (函数) [编辑]
feof
检查文件结束 (函数) [编辑]
ferror
检查文件错误 (函数) [编辑]
perror
将当前错误的字符串显示到 stderr (函数) [编辑]
文件操作
remove
擦除文件 (函数) [编辑]
rename
重命名文件 (函数) [编辑]
tmpfile
创建并打开一个临时文件,该文件将自动删除 (函数) [编辑]
tmpnam
返回一个唯一的文件名 (函数) [编辑]
[编辑] 概要
namespace std {
using size_t = /* see description */;
using FILE = /* see description */;
using fpos_t = /* see description */;
}
#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 stderr /* see description */
#define stdin /* see description */
#define stdout /* see description */
namespace std {
int remove(const char* filename);
int rename(const char* old_p, const char* new_p);
FILE* tmpfile();
char* tmpnam(char* s);
int fclose(FILE* stream);
int fflush(FILE* stream);
FILE* fopen(const char* filename, const char* mode);
FILE* freopen(const char* filename, const char* mode, FILE* stream);
void setbuf(FILE* stream, char* buf);
int setvbuf(FILE* stream, char* buf, int mode, size_t size);
int fprintf(FILE* stream, const char* format, ...);
int fscanf(FILE* stream, const char* format, ...);
int printf(const char* format, ...);
int scanf(const char* format, ...);
int snprintf(char* s, size_t n, const char* format, ...);
int sprintf(char* s, const char* format, ...);
int sscanf(const char* s, const char* format, ...);
int vfprintf(FILE* stream, const char* format, va_list arg);
int vfscanf(FILE* stream, const char* format, va_list arg);
int vprintf(const char* format, va_list arg);
int vscanf(const char* format, va_list arg);
int vsnprintf(char* s, size_t n, const char* format, va_list arg);
int vsprintf(char* s, const char* format, va_list arg);
int vsscanf(const char* s, const char* format, va_list arg);
int fgetc(FILE* stream);
char* fgets(char* s, int n, FILE* stream);
int fputc(int c, FILE* stream);
int fputs(const char* s, FILE* stream);
int getc(FILE* stream);
int getchar();
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* ptr, size_t size, size_t nmemb, FILE* stream);
size_t fwrite(const void* ptr, size_t size, size_t nmemb, FILE* stream);
int fgetpos(FILE* stream, fpos_t* 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);
}
[编辑] 注意
NULL 也定义在以下头文件中
std::size_t 也定义在以下头文件中