C标准库源码解剖(14):通用函数stdlib.h 您所在的位置:网站首页 库函数stdlibh C标准库源码解剖(14):通用函数stdlib.h

C标准库源码解剖(14):通用函数stdlib.h

2023-08-26 13:47| 来源: 网络整理| 查看: 265

    通用函数库在头文件stdlib.h中声明,比较庞大,主要分为以下几大类:存储分配、随机数生成、数字转换与整型运算、程序退出与环境通信、搜索与排序、多字节与宽字符的转换。由于汲及到存储分配、环境通信等,因此它们的大多数也依赖于操作系统。glibc中,通用函数库的核心实现在stdlib和malloc两个目录下。         stdlib.h中导出的所有标准接口如下:     1、malloc,calloc,realloc,free:内存分配与释放。分配的内存不进行任何初始化,保证对任何数据类型正确对齐     2、rand,srand,RAND_MAX:产生伪随机数,rand范围的上限由RAND_MAX指定,至少为32767     3、atof,atoi,atol,atoll:将字符串的初始部分转换成相应类型的数字。     4、strtod,strtof,strtold,strtol,strtoll,strtoul,strtoull:同上,但比上面的转换函数更完善。实际上glibc中,上面的几个转换函数都是直接调用这里的函数来实现的。     5、abort,atexit,exit,_Exit,EXIT_FAILURE,EXIT_SUCCESS:终止程序。exit在终止前会调用用atexit注册的各个函数,而abort和_Exit则不会。     6、getenv:返回指定环境参数name的对应值。     7、system:将字符串参数传递到操作系统的shell中,按实现定义的执行它。     8、qsort,bsearch:qsort对含有count个元素(每个元素的大小为size)的数组base按升序排序、bsearch在数组中搜索元素key。     9、abs,labs,llabs:返回参数的绝对值。     10、div,ldiv,lldiv:计算n除以d的商和余数,放在div_t,ldiv_t,lldiv_t结构中返回,结构中的成员quot=n/d,成员rem=n%d。     11、mblen,mbtowc,wctomb,MB_CUR_MAX:判断s的前n个字节是否是有效的多字节字符、多字节字符s转换成宽字符pwc、宽字符pwc转换成多字节字符s、 MB_CUR_MAX表示多字节字符的最大字节数。     12、mbstowcs,wcstombs:多字节字符串与宽字符串之间的转换,返回转换后的字符数(不包括null终止符),发现错误则返回-1(转换成size_t)。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有