1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330
| C/C++常用头文件 以及简单应用介绍 C/C++头文件一览
C
#include <assert.h> #include <ctype.h> #include <errno.h> #include <float.h> #include <iso646.h> #include <limits.h> #include <locale.h> #include <math.h> #include <setjmp.h> #include <signal.h> #include <stdarg.h> #include <stddef.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <wchar.h> #include <wctype.h>
传统 C++
#include <fstream.h> #include <iomanip.h> #include <iostream.h> #include <strstrea.h>
————————————————————————————————
标准 C++
#include <algorithm> #include <bitset> #include <cctype> #include <cerrno> #include <cfloat> #include <ciso646> #include <climits> #include <clocale> #include <cmath> #include <complex> #include <csignal> #include <csetjmp> #include <cstdarg> #include <cstddef> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <cwchar> #include <cwctype> #include <deque> #include <exception> #include <fstream> #include <functional> #include <limits> #include <list> #include <locale> #include <map> #include <memory> #include<new> #include <numeric> #include <iomanip> #include <ios> #include <iosfwd> #include <iostream> #include <istream> #include <iterator> #include <ostream> #include <queue> #include <set> #include <sstream> #include <stack> #include <stdexcept> #include <streambuf> #include <string> #include <typeinfo> #include <utility> #include <valarray> #include <vector>
————————————————————————————————
C99 增加的部分
#include <complex.h> #include <fenv.h> #include <inttypes.h> #include <stdbool.h> #include <stdint.h> #include <tgmath.h>
头文件 ctype.h 字符处理函数: 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换
---
字符测试是否字母和数字 isalnum 是否字母 isalpha 是否控制字符 iscntrl 是否数字 isdigit 是否可显示字符(除空格外) isgraph 是否可显示字符(包括空格) isprint 是否既不是空格,又不是字母和数字的可显示字符 ispunct 是否空格 isspace 是否大写字母 isupper 是否 16 进制数字(0-9,A-F)字符 isxdigit 字符大小写转换函数 转换为大写字母 toupper 转换为小写字母 tolower
头文件 local.h 地区化: 本类别的函数用于处理不同国家的语言差异。
---
地区控制 地区设置 setlocale 数字格式约定查询 国家的货币、日期、时间等的格式转换 localeconv
头文件 math.h 数学函数: 本分类给出了各种数学计算函数,必须提醒的是 ANSIC 标准中的数据格式并不符合 IEEE754 标准,一些 C 语言编译器却遵循 IEEE754(例如 frinklin C51)
---
反余弦 acos 反正弦 asin 反正切 atan 反正切 2 atan2 余弦 cos 正弦 sin 正切 tan
双曲余弦 cosh 双曲正弦 sinh 双曲正切 tanh
指数函数 exp 指数分解函数 frexp 乘积指数函数 fdexp 自然对数 log 以 10 为底的对数 log10 浮点数分解函数 modf
幂函数 pow 平方根函数 sqrt
求下限接近整数 ceil 绝对值 fabs 求上限接近整数 floor 求余数 fmod
头文件 setjmp.h io.h 本分类函数用于实现在不同底函数之间直接跳转代码。
---
保存调用环境 setjmp 恢复调用环境 longjmp
头文件 signal.h 信号处理: 该分类函数用于处理那些在程序执行过程中发生例外的情况。
---
指定信号处理函数 signal 发送信号 raise
头文件 stdarg.h 可变参数处理: 本类函数用于实现诸如 printf,scanf 等参数数量可变底函数。
---
可变参数访问宏 可变参数开始宏 va_start 可变参数结束宏 va_end 可变参数访问宏 访问下一个可变参数宏 va_arg
头文件 stdio.h 输入输出函数:该分类用于处理包括文件、控制台等各种输入输出设备,各种函数以“流”的方式实现
---
删除文件 remove 修改文件名称 rename 生成临时文件名称 tmpfile 得到临时文件路径 tmpnam 文件访问 关闭文件 fclose 刷新缓冲区 fflush 打开文件 fopen 将已存在的流指针和新文件连接 freopen 设置磁盘缓冲区 setbuf 设置磁盘缓冲区 setvbuf
格式化输入与输出函数 格式输出 fprintf 格式输入 fscanf 格式输出(控制台) printf 格式输入(控制台) scanf 格式输出到缓冲区 sprintf 从缓冲区中按格式输入 sscanf 格式化输出 vfprintf 格式化输出 vprintf 格式化输出 vsprintf
字符输入输出函数 输入一个字符 fgetc 字符串输入 fgets 字符输出 fputc 字符串输出 fputs 字符输入(控制台) getc 字符输入(控制台) getchar 字符串输入(控制台) gets 字符输出(控制台) putc 字符输出(控制台) putchar 字符串输出(控制台) puts 字符输出到流的头部 ungetc
直接输入输出 直接流读操作 fread 直接流写操作 fwrite
文件定位函数 得到文件位置 fgetpos 文件位置移动 fseek 文件位置设置 fsetpos 得到文件位置 ftell 文件位置复零位 remind
错误处理函数 错误清除 clearerr 文件结尾判断 feof 文件错误检测 ferror 得到错误提示字符串 perror
头文件 stdlib.h 实用工具函数: 本分类给出了一些函数无法按以上分类,但又是编程所必须要的。
---
字符串转换函数 字符串转换为整数 atoi 字符串转换为长整数 atol 字符串转换为浮点数 strtod 字符串转换为长整数 strtol 字符串转换为无符号长整型 strtoul
伪随机序列产生函数 产生随机数 rand 设置随机函数的起动数值 srand
存储管理函数 分配存储器 calloc 释放存储器 free 存储器分配 malloc 重新分配存储器 realloc
环境通信 中止程序 abort 退出程序执行,并清除环境变量 atexit 退出程序执行 exit 读取环境参数 getenv 程序挂起,临时执行一个其他程序 system 搜索和排序工具 二分查找(数据必须已排序) bsearch 快速排序 qsort 整数运算函数 求绝对值 abs 得到除法运算底商和余数 div 求长整形底绝对值 labs 求长整形除法的商和余数 ldiv 多字节字符函数 得到多字节字符的字节数 mblen 得到多字节字符的字节数 mbtowc 多字节字符转换 wctomb 多字节字符的字符串操作 将多字节串转换为整数数组 mbstowcs 将多字节串转换为字符数组 mcstowbs
头文件 string.h 字符串处理: 本分类的函数用于对字符串进行合并、比较等操作
---
字符串拷贝 块拷贝(目的和源存储区不可重叠) memcpy 块拷贝(目的和源存储区可重叠) memmove 串拷贝 strcpy 按长度的串拷贝 strncpy 字符串连接函数 串连接 strcat 按长度连接字符串 strncat 串比较函数 块比较 memcmp 字符串比较 strcmp 字符串比较(用于非英文字符) strcoll 按长度对字符串比较 strncmp 字符串转换 strxfrm 字符与字符串查找 字符查找 memchr 字符查找 strchr 字符串查找 strcspn 字符串查找 strpbrk 字符串查找 strspn 字符串查找 strstr 字符串分解 strtok 杂类函数 字符串设置 memset 错误字符串映射 strerror 求字符串长度 strlen
头文件 time.h 日期和时间函数: 本类别给出时间和日期处理函数
---
时间操作函数得到处理器时间 clock 得到时间差 difftime 设置时间 mktime 得到时间 time 时间转换函数 得到以 ASCII 码表示的时间 asctime 得到字符串表示的时间 ctime 得到指定格式的时间 strftime
## 序号 库类别 头文件
1 错误处理 errno.h 2 字符处理 ctyphe. 3 地区化 local.h 4 数学函数 math.h 5 信号处理 signal.h 6 输入输出 stdio.h 7 实用工具程序 stdlib.h 8 字符串处理 string.h
---
|