• 头文件<stdlib.h>


    头文件<stdlib.h>被发明的目的是为了定义和声明那些没有明显的归属地宏和函数。它声明了4中类型和几个具有一般功能的函数,还定义了几个宏
    1、类型:
    size_t 这是无符号整数类型,它是sizeof关键字的结果。
    wchar_t 这是一个宽字符常量大小的整数类型。
    div_t 这是div函数返回的结构。
    ldiv_t 这是ldiv函数返回的结构。
    2、宏:
    NULL 这个宏是一个空指针常量的值。
    EXIT_FAILURE 这是 exit 函数失败时要返回的值。
    EXIT_SUCCESS 这是 exit 函数成功时要返回的值。
    RAND_MAX 这个宏是 rand 函数返回的最大值。
    MB_CUR_MAX 这个宏表示在多字节字符集中的最大字符数,不能大于 MB_LEN_MAX。
    3、函数:
    3.1字符转换函数
    double atof(const char *nptr);
    说明:把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。
    参数:nptr -- 要转换为浮点数的字符串。
    返回值:函数返回转换后的双精度浮点数,如果没有执行有效的转换,则返回零(0.0)。

    int atoi(const char *nptr);
    说明:把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。
    参数:nptr -- 要转换为整数的字符串。
    返回值:该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。

    例:

    /////////////////////////////////////////////////////////////////////////////////////////////////////

    #include<stdio.h>
    #include<stdlib.h>

    void main()
    {
    char *date="1901";
    printf("%d ",atoi(date));
    }

    结果:

    1901

    /////////////////////////////////////////////////////////////////////////////////////////////////////

    long int atol(const char *nptr);
    说明:把参数 str 所指向的字符串转换为一个长整数(类型为 long int 型)。
    参数:nptr -- 要转换为长整数的字符串。
    返回值:该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。

    double strtod(const char *nptr,char **endptr);
    说明:把参数 nptr 所指向的字符串转换为一个浮点数(类型为 double 型)。
    参数:nptr -- 要转换为双精度浮点数的字符串。
    endptr -- 对类型为 char* 的对象的引用,其值由函数设置为 nptr 中数值后的下一个字符。
    返回值:该函数返回转换后的双精度浮点数,如果没有执行有效的转换,则返回零(0.0)。

    long int strtol(const char *nptr,char **endptr,int base);
    说明:把参数 nptr 所指向的字符串转换为一个长整数(类型为 long int 型)。
    参数:nptr -- 要转换为长整数的字符串。
    endptr -- 对类型为 char* 的对象的引用,其值由函数设置为 nptr 中数值后的下一个字符。
    base -- 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0。
    返回值:该函数返回转换后的长整数,如果没有执行有效的转换,则返回一个零值。

    unsigned long int strtoul(const char *nptr,char **endptr,int base);
    说明:把参数 nptr 所指向的字符串转换为一个无符号长整数(类型为 unsigned long int 型)。
    参数:nptr -- 要转换为无符号长整数的字符串。
    endptr -- 对类型为 char* 的对象的引用,其值由函数设置为 nptr 中数值后的下一个字符。
    base -- 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0。
    返回值:
    3.2伪随机序列产生函数
    int rand(void);
    说明:返回一个范围在 0 到 RAND_MAX 之间的伪随机数。
    返回值:该函数返回一个范围在 0 到 RAND_MAX 之间的整数值。

    void srand(unsigned in seed);
    说明:该函数播种由函数 rand 使用的随机数发生器。
    参数:seed -- 这是一个整型值,用于伪随机数生成算法播种。
    返回值:该函数不返回任何值。
    3.3内存管理函数
    void *calloc(size_t nmemb,size_t size);
    说明:分配所需的内存空间,并返回一个指向它的指针。
    参数:nmemb -- 要被分配的元素个数。
    size -- 元素的大小。
    返回值:该函数返回一个指针,指向已分配的内存。如果请求失败,则返回 NULL。

    void free(void *ptr);
    说明:释放之前调用 calloc、malloc 或 realloc 所分配的内存空间。
    参数:ptr -- 指针指向一个要释放内存的内存块,该内存块之前是通过调用 malloc、calloc 或 realloc 进行分配内存的。如果传递的参数是一个空指针,则不会执行任何动作。
    返回值:该函数不返回任何值。

    void *malloc(size_t size);
    说明:分配所需的内存空间,并返回一个指向它的指针。
    参数:size -- 内存块的大小,以字节为单位。
    返回值:该函数返回一个指针 ,指向已分配大小的内存。如果请求失败,则返回 NULL。

    void *realloc(void *ptr,size_t size);
    说明:尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。
    参数:ptr -- 指针指向一个要重新分配内存的内存块,该内存块之前是通过调用 malloc、calloc 或 realloc 进行分配内存的。如果为空指针,则会分配一个新的内存块,且函数返回一个指向它的指针。
    size -- 内存块的新的大小,以字节为单位。如果大小为 0,且 ptr 指向一个已存在的内存块,则 ptr 所指向的内存块会被释放,并返回一个空指针。
    返回值:该函数返回一个指针 ,指向重新分配大小的内存。如果请求失败,则返回 NULL。
    3.4环境通信函数
    void abort(void);
    说明:使一个异常程序终止。
    返回值:该函数不返回任何值。

    int atexit(void (*func)(void));
    说明:当程序正常终止时,调用指定的函数 func。
    参数:func -- 在程序终止时被调用的函数。
    返回值:如果函数成功注册,则该函数返回零,否则返回一个非零值。

    void exit(int status);
    说明:使程序正常终止。
    参数:status -- 返回给父进程的状态值。
    返回值:该函数不返回值。

    char *getenv(const char *name);
    说明:搜索 name 所指向的环境字符串,并返回相关的值给字符串。
    参数:name -- 包含被请求变量名称的 C 字符串。
    返回值:该函数返回一个以 null 结尾的字符串,该字符串为被请求环境变量的值。如果该环境变量不存在,则返回 NULL。

    int system(const char *string);
    说明:由 string 指定的命令传给要被命令处理器执行的主机环境。
    参数:string -- 包含被请求变量名称的 C 字符串。
    返回值:如果发生错误,则返回值为 -1,否则返回命令的状态。
    3.5查找和排序函数
    void *bsearch(const void *key,const void *base,size_t nmemb,size_t size,int (*compar)(const void *,const void *));
    说明:执行二分查找。
    参数:key -- 指向要查找的元素的指针,类型转换为 void*。
    base -- 指向进行查找的数组的第一个对象的指针,类型转换为 void*。
    nmemb -- base 所指向的数组中元素的个数。
    size -- 数组中每个元素的大小,以字节为单位。
    compar -- 用来比较两个元素的函数。
    返回值:如果查找成功,该函数返回一个指向数组中匹配元素的指针,否则返回空指针。.

    void qsort(void *base,size_t nmemb,size_t size,int (*compar)(const void *,const void *));
    说明:数组排序。
    参数:base -- 指向要排序的数组的第一个元素的指针。
    nmemb -- 由 base 指向的数组中元素的个数。
    size -- 数组中每个元素的大小,以字节为单位。
    compar -- 用来比较两个元素的函数。
    返回值:该函数不返回任何值。
    3.6整数算数函数
    int abs(int j);
    说明:返回 j 的绝对值。
    参数:j -- 完整的值。
    返回值:该函数返回 j 的绝对值。

    div_t div(int mmer,int denom);
    说明:分子除以分母。
    参数:mmer -- 分子。
    denom -- 分母。
    返回值:该函数返回定义在 <cstdlib> 中的结构中的值,该结构有两个成员,如 div_t:int quot; int rem;。

    long int labs(long int j);
    说明:返回 j 的绝对值
    参数:j -- 完整的值。
    返回值:该函数返回 j 的绝对值。

    ldiv_t ldiv(long int numer,long int denom);
    说明:分子除以分母。
    参数:numer -- 分子。
    denom -- 分母。
    返回值:该函数返回定义在 <cstdlib> 中的结构中的值,该结构有两个成员,如 ldiv_t:long quot; long rem;。
    3.7多字节字符函数
    int mblen(const char *s,size_t n);
    说明:返回参数 s 所指向的多字节字符的长度。
    参数:s -- 指向多字节字符的第一个字节的指针。
    n -- 要检查的字符长度的最大字节数。
    返回值:如果识别了一个非空宽字符,mblen() 函数返回 s 开始的多字节序列解析的字节数。如果识别了一个空宽字符,则返回 0。如果识别了一个无效的多字节序列,或者不能解析一个完整的多字节字符,则返回 -1。

    int mbtowc(wchar_t *pwc,const char *s,size_t n);
    说明:检查参数 s 所指向的多字节字符。
    参数:pwc -- 指向类型为 wchar_t 对象的指针。
    s -- 指向多字节字符的第一个字节的指针。
    n -- 要被检查的最大字节数。
    返回值:如果 s 不为 NULL,mbtowc() 函数返回 str 开始消耗的字节数,如果指向一个空字节,则返回 0,如果操作失败,则返回 -1。
    如果 s 为 NULL,如果编码具有移位状态,则 mbtowc() 函数返回非零,如果编码是无状态的,则返回零。

    int wctomb(char *s,wchar_t wchar);
    说明:检查对应于参数 wchar 所给出的多字节字符的编码。
    参数:s -- 一个指针,指向一个足以存储多字节字符的数组。
    wchar -- 类型为 wchar_t 的宽字符。
    返回值:如果 s 不为 NULL,wctomb() 函数返回写入字节数组中的字节数。如果 wchar 不能被表示为一个多字节序列,则会返回 -1。
    如果 s 为 NULL,如果编码具有移位状态,则 wctomb() 函数返回非零,如果编码是无状态的,则返回零。
    3.8多字节串函数
    size_t mbstowcs(wchar_t *pwcs,const char *s,size_t n);
    说明:把参数 s 所指向的多字节字符的字符串转换为参数 pwcs 所指向的数组。
    参数:pwcs -- 指向一个 wchar_t 元素的数组,数组长度足以存储一个最大字符长度的宽字符串。
    s -- 要被转换的多字节字符字符串。
    n -- 要被转换的最大字符数。
    返回值:该函数返回转换的字符数,不包括结尾的空字符。如果遇到一个无效的多字节字符,则返回 -1 值。

    size_t wcstombs(char *s,const wchar_t *pwcs,size_t n);
    说明:把数组 pwcs 中存储的编码转换为多字节字符,并把它们存储在字符串 s 中。
    参数:s -- 指向一个 char 元素的数组,至少有 n 字节长。
    pwcs -- 要被转换的宽字符字符串。
    n -- 要被写入到 s 中的最大字节数。
    返回值:该函数返回转换和写入到 s 中的字节数,不包括结尾的空字符。如果遇到一个无效的多字节字符,则返回 -1 值。

  • 相关阅读:
    jmeter接口测试二
    jmeter 插件入口
    Python正则匹配中的最小匹配和贪婪匹配
    python中的url编码和解码(encode与decode)乱码
    python2.7+pyqt+eric基本控件操作(制作界面化程序)
    python2.7+PyQt4+eric6 界面开发环境配置
    centos配置静态ip地址
    分片,步长,索引
    我看过的几本书籍
    软件测试工程师的成长之路(个人看法)
  • 原文地址:https://www.cnblogs.com/Mr-Wenyan/p/7223629.html
Copyright © 2020-2023  润新知