• stdlib.h 头文件


    stdlib 头文件即standard library标准库头文件。stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。 具体的内容可以打开编译器的include目录里面的stdlib.h头文件查看。
     
    输入样式:C语言模式:#include <stdlib.h>
    C++样式:#include <cstdlib>
     

    c语言的疑惑(一)头文件: stdlib.h

     http://www.cnblogs.com/youngchou/articles/5493171.html

    stdlib.hC标准函数库头文件,声明了数值与字符串转换函数, 伪随机数生成函数, 动态内存分配函数, 进程控制函数等公共函数。 C++程序应调用等价的cstdlib头文件.

    当你需要使用一下函数的时候,可以将这个头文件包含进来:

    函数

    stdlib.h中声明的库函数可分为六类:类型转换、伪随机数、动态内存分配与回收管理、进程控制、搜索及排序、简单数学。

    类型转换

    atof
    字符串转换为双精度浮点数。相当于strtod(s, (char**)NULL).

    atoi
    把字符串转换为整型. 相当于(int)strtol(s, (char**)NULL, 10).

    atol
    把字符串转换为长整型. Equivalente a strtol(s, (char**)NULL, 10).

    atoll
    把字符串转换为长长整型. Equivalente a strtol(s, (char**)NULL, 10). 这是C99新增加的库函数。

    strtod
    把字符串转换为双精度浮点数,检查结果是否溢出,并返回字符串不能转换部分的地址.

    strtof
    把字符串转换为单精度浮点数,检查结果是否溢出,并返回字符串不能转换部分的地址.

    strtold
    把字符串转换为长双精度浮点数,检查结果是否溢出,并返回字符串不能转换部分的地址.

    strtol
    把字符串转换为长整型,检查结果是否溢出,并返回字符串不能转换部分的地址.

    strtoll
    把字符串转换为long long int,检查结果是否溢出,并返回字符串不能转换部分的地址.

    strtoul
    把字符串转换为无符号长整形,检查结果是否溢出,并返回字符串不能转换部分的地址.

    strtoull
    把字符串转换为unsigned long long int,检查结果是否溢出,并返回字符串不能转换部分的地址.

    伪随机数序列生成

    rand
    返回在0到RAND_MAX之间的伪随机数. 不接受参数作为随机数种子,因此产生的伪随机数列相同,有利于程序调试。

    srand
    初始化rand()接受无符号整型参数作为伪随机数种子.如果种子相同,伪随机数列也相同。

    内存的分配与释放

    aligned_alloc
    边界对齐的动态内存分配.

    calloc
    数组的动态内存分配,且初始化为全零

    malloc
    动态内存分配,其内容不初始化

    realloc
    释放老的动态内存块,按照给出的尺寸分配新的动态内存块,老的内存块的内容尽量复制到新的内存块

    free
    系统释放动态分配的内存. 如果是空指针,则无动作发生;如果指针所指不是动态分配的内存块或者是已释放的内存块,则行为是未定义的。

    进程控制/与运行环境的沟通

    abort
    导致程序非正常的结束,各种流缓冲区与临时文件直接放弃。实际上抛出raise(SIGABRT),缺省的信号处理行为是使用退出代码3执行终止(terminate)操作。如果SIGABRT被捕捉且信号处理程序不返回,则程序将不终止.

    atexit
    登记一个函数,当程序使用exit正常退出时被登记的函数自动被调用.

    exit
    程序正常终止。首先atexit()登记的函数按照登记的逆序被调用;如果多次调用atexit登记了多个函数,按照登记的逆序调用这些函数。如果一个函数被登记了多次,则程序正常退出时该函数也将被调用多次。然后所有缓冲区中的数据被写回(flushed);所有打开着的流被关闭;tmpfile函数创建的文件被删除。最后,控制权返回给调用环境,返回数值表示程序返回时的状态,0表示EXIT_SUCCESS, 1表示EXIT_FAILURE.

    at_quick_exit
    登记一个函数,当程序使用quick_exit正常退出时被登记的函数自动被调用.

    _Exit
    程序正常终止, 但atexit(), at_quick_exit(), signal()登记的函数不被调用; 打开的流、文件是否被关闭,由编译器的实现者决定

    getenv
    获得某一个环境变量的字符串值,如果该环境变量不存在,返回NULL.

    quick_exit
    程序正常终止, 但atexit(), 登记的函数不被调用; at_quick_exit()登记的函数按登记顺序的逆序被调用。

    system
    把参数作为外部环境的命令执行。 如果参数为空,则判断外部环境是否有命令解释器。

    搜索与排序

    bsearch
    折半搜索.

    qsort
    快速排序.

    整数算术

    abs, labs, llabs
    计算整数的绝对值.

    div, ldiv, lldiv
    计算整数除法的商与余数.

    多字节字符/宽字符转换

    mblen
    计算多字节字符的长度并确定是否为有效字符 .

    mbtowc
    多字节字符转换为宽字符.

    wctomb
    宽字符转换为多字节字符.

    多字节字符串/宽字符串转换

    mbstowcs
    多字节字符串转换为宽字符串.

    wcstombs
    宽字符串转换为多字节字符串.

  • 相关阅读:
    从内存中加载并启动一个exe
    使用Hamcrest增强JUnit的测试能力
    Delphi编译指令说明
    Delphi 64与32位的差异
    获取exe文件窗口抓图,将memo转化为JPG输出
    Delphi 的 Utf-8 转换
    我的第一个破解软件,试验成功!
    Qt之QComboBox(基本应用、代理设置)
    常见寄存器以及常见汇编指令,常见爆破指令 good
    大神级回答exists与in的区别
  • 原文地址:https://www.cnblogs.com/prayer521/p/5755387.html
Copyright © 2020-2023  润新知