C语⾔这些常⽤的标准库(头⽂件),你不得不知道...
有很多⼯程师喜欢⾃⼰封装⼀些标准库已有的函数,其实⾃⼰封装的函数,并不⼀定⽐标准库好,有时候反⽽代码更冗余,且有bug。
c语言库函数下⾯⼩编就来分享⼀下C语⾔常见的⼀些标准库。
标准头⽂件包括:
<asset.h><ctype.h><errno.h><float.h><limits.h>
<locale.h><math.h><stdio.h><signal.h><time.h>
<stddef.h><stdlib.h><string.h><stdarg.h><setjmp.h>
⼀、标准定义(<stddef.h>)
⽂件<stddef.h>⾥包含了标准库的⼀些常⽤定义,⽆论我们包含哪个标准头⽂件,<stddef.h>都会被⾃动包含进来。
这个⽂件⾥定义:
●类型size_t(sizeof运算符的结果类型,是某个⽆符号整型);
●类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);
●类型wchar_t(宽字符类型,是⼀个整型,其中⾜以存放本系统所⽀持的所有本地环境中的字符集的所有编码值。这⾥还保证空字符的编码值为0);
●符号常量NULL(空指针值);
●宏offsetot (这是⼀个带参数的宏,第⼀个参数应是⼀个结构类型,第⼆个参数应是结构成员名。
offsetot(s,m)
求出成员m在结构类型t的变量⾥的偏移量)。
注:其中有些定义也出现在其他头⽂件⾥(如NULL)。
⼆、错误信息(<errno.h>)
<errno.h>定义了⼀个int类型的表达式errno,可以看作⼀个变量,其初始值为0,⼀些标准库函数执⾏中出错时将它设为⾮0值,但任何标准库函数都设置它为0。
<errno.h>⾥还定义了两个宏EDOM和ERANGE,都是⾮0的整数值。数学函数执⾏中遇到参数错误,就会将errno置为EDOM,如出现值域错误就会将errno置为ERANGE。
三、输⼊输出函数(<stdio.h>)
⽂件打开和关闭:
字符输⼊输出:
getc和putc与这两个函数类似,但通过宏定义实现。通常有下⾯定义:
格式化输⼊输出:
⾏式输⼊输出:
直接输⼊输出:
四、数学函数(<math.h>)
1.三⾓函数:
2.指数和对数函数:
3.其他函数:
注:所有上⾯未给出类型特征的函数都取⼀个参数,其参数与返回值都是double类型。
下⾯函数返回双精度值(包括函数ceil和floor)。在下表⾥,除其中有特别说明的参数之外,所有函数的其他参数都是double类型。
函数原型意义解释:
五、字符处理函数(<ctype.h>)
注:条件成⽴时这些函数返回⾮0值。最后两个转换函数对于⾮字母参数返回原字符。
六、字符串函数(<string.h>)
1.字符串函数
所有字符串函数列在下表⾥,函数描述采⽤如下约定:s、t表⽰ (char *)类型的参数,cs、ct表⽰(const char*)类型的参数(它们都应表⽰字符串)。
n表⽰size_t类型的参数(size_t是⼀个⽆符号的整数类型),c是整型参数(在函数⾥转换到char):
函数原型意义解释:
2.存储区操作
<string.h>还有⼀组字符数组操作函数(存储区操作函数),名字都以mem开头,以某种⾼效⽅式实现。
在下⾯原型中,参数s和t的类型是(void *),cs和ct的类型是(const void *),n的类型是size_t,c的类型是int(转换为unsigned char)。
函数原型意义解释:
七、功能函数(<stdlib.h>)
1.随机数函数:
函数原型意义解释
2.动态存储分配函数:
函数原型意义解释
3.⼏个整数函数
⼏个简单的整数函数见下表,div_t和ldiv_t是两个预定义结构类型,⽤于存放整除时得到的商和余数。
div_t类型的成分是int类型的quot和rem,ldiv_t类型的成分是long类型的quot和rem。
函数原型意义解释
4.数值转换
函数原型意义解释
5.执⾏控制
1)⾮正常终⽌函数abort。
原型是:
2)正常终⽌函数exit。
原型是:
导致程序按正常⽅式⽴即终⽌。status作为送给执⾏环境的出⼝值,0表⽰成功结束,两个可⽤的常数为EXIT_SUCCESS,EXIT_FAILURE。
3)正常终⽌注册函数atexit。
原型是:
可⽤本函数把⼀些函数注册为结束动作。被注册函数应当是⽆参⽆返回值的函数。注册正常完成时atexit返回值0,否则返回⾮零值。
6.与执⾏环境交互
1)向执⾏环境传送命令的函数system。
原型是:
把串s传递给程序的执⾏环境要求作为系统命令执⾏。如以NULL为参数调⽤,函数返回⾮0表⽰环境⾥有命令解释器。如果s不是NULL,返回值由实现确定。2)访问执⾏环境的函数getenv。
从执⾏环境中取回与字符串s相关联的环境串。如果不到就返回NULL。本函数的具体结果由实现确定。在许多执⾏环境⾥,可以⽤这个函数去查看“环境变量”的值。
7.常⽤函数bsearch和qsort
1)⼆分法查函数bsearch:
函数指针参数cmp的实参应是⼀个与字符串⽐较函数strcmp类似的函数,确定排序的顺序,当第⼀个参数keyval⽐第⼆个参数datum⼤、相等或⼩时分别返回正、零或负值。2)快速排序函数qsort:
qsort对于⽐较函数cmp的要求与bsearch⼀样。设有数组base[0],...,base[n-1],元素⼤⼩为size。⽤qsort可以把这个数组的元素按cmp确定的上升顺序重新排列。
最后,不管你是转⾏也好,初学也罢,进阶也可,如果你想学编程~
——我的——
涉及:C语⾔、C++、windows编程、⽹络编程、QT图形界⾯开发、Linux编程、游戏编程、数据结构与算以及数据库......
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论