不是软件产业的领头人,就永远只有跟随的份,不过也有好处,站在前人的肩膀上可以节省很多时间去做更有用的事。现在说说C语言的标准库函数。好多C语言库函数参考还是用的TC的库函数参考,因此特地把现在C语言(C99)标准库函数的24个头文件列表如下:
assert.h inttypes.h(C99) signal.h stdlib.h
complex.h(C99) iso646.h(C95) stdarg.h string.h
ctype.h limits.h stdbool.h tgmath.h(C99)
errno.h locale.h stddef.h time.h
fenv.h(C99) math.h stdint.h(C99) wchar.h(C95)
float.h setjmp.h stdio.h wctype.h(C95)
其中C99表示该头文件是在C99标准中新增的,C95表示对原有C89进行一次增补后的C89标准,又称C89增补1。
C89中的标准头文件:
1. <assert.h>定义宏assert()
2. <ctype.h>字符处理
3. <errno.h>错误报告
4. <float.h>定义与实现相关的浮点
5. <limits.h>定义与实现相关的各种极限值
6. <locale.h>支持函数setlocale()
7. <math.h>数学函数库使用的各种定义
8. <setjmp.h>支持非局部跳转
9. <signal.h>定义信号值
10. <stdarg.h>支持可变长度的变元列表
11. <stddef.h>定义常用常数
12. <stdio.h>支持文件输入和输出
13. <stdlib.h>其他各种声明
14. <string.h>支持串函数
15. <time.h>支持系统时间函数
在95年的修正版中添加标准头文件:
1. <iso646.h>首先在此1995年第一次修订时引进,用于定义对应各种运算符的宏
2. <wchar.h>首先在1995年第一次修订时引进,用于支持多字节和宽字节函数
3. <wctype.h>首先在1995年第一次修订时引进,用于支持多字节和宽字节分类函数
C99中增加了六个标准头文件:
1. <complex.h>支持复数算法
2. <fenv.h>给出对浮点状态标记和浮点环境的其他方面的访问
3. <inttypes.h>定义标准的、可移植的整型类型集合。也支持处理最大宽度整数的函数
4. <stdbool.h>支持布尔数据类型类型。定义宏bool,以便兼容于C++
5. <stdint.h>定义标准的、可移植的整型类型集合。该文件包含在<inttypes.h>中
6. <tgmath.h>定义一般类型的浮点宏
以上是C语言的标准头文件,共24个。而各个平台各自又对C库函数进行的各种扩充,就浩如烟海了。如POSIX C、GNU C等。