<cstdlib> - C++ Builder

C++ Builder 参考手册<cstdlib>


  • 按功能排列的 <cstdlib> 成员
    • 类型转换函数
    • 多字节字符处理函数
    • 整数运算函数
    • 内存管理函数
    • 进程、系统相关的函数
    • _s 版本函数异常处理
    • 全局变量
    • 宏定义常数
  • 按字母顺序排列的 <cstdlib> 成员

一. 按功能排列的 <cstdlib> 成员

1.1. 类型转换函数

函数 说明
atof, _ttof, _wtof 字符串转 IEEE 双精度浮点数 (double)
_atold, _ttold, _wtold 字符串转 IEEE 长双精度浮点数 (long double)
atoi, _ttoi, _wtoi 字符串转整数 (int)
atol, _ttol, _wtol 字符串转 32 位长整数 (long)
atoll, _ttoll, _wtoll 字符串转 64 位长长整数 (long long)
_atoi64, _ttoi64, _wtoi64 字符串转 64 位长长整数 (long long)
strtof, _tcstof, wcstof 字符串转 IEEE 单精度浮点数 (float)
strtod, _tcstod, wcstod 字符串转 IEEE 双精度浮点数 (double)
strtold, wcstold,
_strtold, _tcstold, _wcstold
字符串转 IEEE 长浮点数 (long double)
strtol, _tcstol, wcstol 字符串转 32 位长整数 (long), 支持 2 ~ 36 进位制
strtoll, _tcstoll, wcstoll 字符串转 64 位长整数 (long long), 支持 2 ~ 36 进位制
strtoul, _tcstoul, wcstoul 字符串转 32 位无符号长整数 (unsigned long), 支持 2 ~ 36 进位制
strtoull, _tcstoull, wcstoull 字符串转无符号 64 位长整数 (unsigned long long), 支持 2 ~ 36 进位制
ecvt, _ecvt 把一个浮点数转为指定长度的无符号整数字符串,不足补零,
并且返回小数点位置和是否有负号
fcvt, _fcvt 把一个浮点数转为一个无符号整数字符串,保证小数点后面保留指定个数字,
不足补零,并且返回小数点位置和是否有负号
gcvt, _gcvt 把一个浮点数转成字符串,指定要保留几位有效数字,小数方式或科学计数法,
当这些位有效数字无法用小数方式表达时,会变成科学计数法
itoa, _itoa, _itot, _itow 整数 (int) 转字符串,支持 2 ~ 36 进位制
ltoa, _ltoa, _ltot, _ltow 32 位长整数 (long) 转字符串,支持 2 ~ 36 进位制
ultoa, _ultoa, _ultot, _ultow 32 位无符号长整数 (unsigned long) 转字符串,支持 2 ~ 36 进位制
_i64toa, _i64tot, _i64tow 64 位长整数 (long long) 转字符串,支持 2 ~ 36 进位制
_ui64toa, _ui64tot, _ui64tow 无符号 64 位长整数 (unsigned long long) 转字符串,支持 2 ~ 36 进位制

1.2. 多字节字符处理函数

函数 说明
mblen 多字节字符字节数
_mbstrlen 多字节字符串长度
wctomb 宽字符转多字节字符
wctomb_cp 根据指定的代码页进行宽字符转多字节字符
wcstombs 宽字符串转多字节字符串
mbtowc 多字节字符转宽字符
mbtowc_cp 根据指定的代码页进行多字节字符转宽字符
mbstowcs 宽字符串转多字节字符串

1.3. 整数运算函数

函数 说明
abs, labs, llabs 整数取绝对值
div, ldiv, lldiv 整数除法:求商和余数
div_t, ldiv_t, lldiv_t 商和余数结构体,是 div, ldiv, lldiv 函数的返回值类型
_rotl, _lrotl, _crotl 循环左移
_rotr, _lrotr, _crotr 循环右移
swab, _swab 交换奇数字节与偶数字节
rand, _lrand 生成一个 0 ~ RAND_MAX 或 0 ~ LRAND_MAX 之间的随机数
srand 使用给定的 seed number 初始化随机数
random 生成一个给定范围的随机数
randomize 使用当前的系统时间戳初始化随机数

1.4. 内存管理函数

函数 说明
malloc 分配内存
calloc 分配内存并且清零
realloc 调整分配内存大小,或者释放内存
free 释放内存

1.5. 进程、系统相关的函数

函数 说明
abort 结束进程,程序异常结束,并且提示错误信息
exit, _exit, _Exit 结束进程
atexit 注册程序结束时执行的函数
atexit_t 函数指针类型,是 atexit 函数的参数类型
perror, _tperror, _wperror 输出错误信息到 stderr
_seterrormode 设定指定类型的错误由 Windows 处理还是由调用进程处理,
相当于 Windows API 函数 SetErrorMode
system, _tsystem, _wsystem 执行一条控制台命令,如果当前应用程序不是控制台程序,也会自动开启一个控制台执行
getenv, _tgetenv, _wgetenv 获取一个操作系统环境变量的值
getenv_s, _tgetenv_s, wgetenv_s 获取一个操作系统环境变量的值
putenv, _putenv, _tputenv, _wputenv 修改一个操作系统环境变量的值,
只针对当前进程有效
putenv_s, _tputenv_s, _wputenv_s 修改一个操作系统环境变量的值,
只针对当前进程有效 【注1】
_searchenv, _tsearchenv, _wsearchenv 从操作系统环境变量指定的文件夹里面寻找文件
_searchstr, _tsearchstr, _wsearchstr 从路径列表指定的位置寻找文件
_fullpath, _tfullpath, _wfullpath 相对路径转绝对路径
_makepath, _tmakepath, _wmakepath 把驱动器名、文件夹名、文件名和后缀组合为完整的路径和文件名
_splitpath, _tsplitpath, _wsplitpath 把完整的路径和文件名分解为驱动器名、文件夹名、文件名和后缀

【注1】C++ Builder 没有这几个函数 (目前最新版本 C++ Builder 10.4)

1.6. _s 版本函数异常处理

函数 说明
abort_handler_s 使用 set_constraint_handler_s 注册捕获 _s 版本函数访问异常:调用 abort 结束进程
constraint_handler_t 使用 set_constraint_handler_s 注册捕获 _s 版本函数访问异常:自定义的异常处理
ignore_handler_s 使用 set_constraint_handler_s 注册捕获 _s 版本函数访问异常:忽略内存访问异常
set_constraint_handler_s 注册捕获 _s 版本函数访问异常

1.7. 全局变量

全局变量 说明
_argc 命令行参数的个数
_argv, _targv, _wargv 命令行参数
environ, _environ, _tenviron, _wenviron 操作系统环境变量
sys_errlist, _sys_errlist 错误信息字符串数组,用于 perror 显示 errno 的错误信息
sys_nerr, _sys_nerr _sys_errlist 里面错误信息的个数
_osmajor 操作系统主版本号
_osminor 操作系统次版本号
_osmode 操作系统模式
_osversion 操作系统版本,主版本:低位字节,次版本:高位字节
_cmdline_escapes 命令行转义,双反斜线是否认为是一个反斜线
_fileinfo 用于判断信息是否传递给 _spawn 创建的新的进程,已过时的变量
_fmode _open 等函数打开文件的方式,已过时的变量,
需要用 _get_fmode 和 _set_fmode 替代
__mb_cur_max 多字节字符的最大长度

1.8. 宏定义常数

宏定义常数 说明
MB_CUR_MAX 多字节字符的最大长度
RAND_MAX, LRAND_MAX rand 或 _lrand 函数生成随机数的最大值
EXIT_SUCCESS, EXIT_FAILURE exit 函数的参数
_MAX_PATH, _MAX_DRIVE,
_MAX_DIR, _MAX_FNAME, _MAX_EXT
路径和文件名的最大长度
DOS_MODE, OS2_MODE,
_WIN_MODE, _DOSX32_MODE,
_OS2_20_MODE
操作系统模式 _osmode 的值

二. 按字母顺序排序的 <cstdlib> 成员

函数 / 常数 / 变量 说明
abort 结束进程,程序异常结束,并且提示错误信息
abort_handler_s 使用 set_constraint_handler_s 注册捕获 _s 版本函数访问异常:调用 abort 结束进程
abs 整数取绝对值
_argc 命令行参数的个数
_argv 命令行参数
atexit 注册程序结束时执行的函数
atexit_t 函数指针类型,是 atexit 函数的参数类型
atof 字符串转 IEEE 双精度浮点数 (double)
atoi 字符串转整数 (int)
_atoi64 字符串转 64 位长长整数 (long long)
atol 字符串转 32 位长整数 (long)
_atold 字符串转 IEEE 长双精度浮点数 (long double)
atoll 字符串转 64 位长长整数 (long long)
calloc 分配内存并且清零
_cmdline_escapes 命令行转义,双反斜线是否认为是一个反斜线
constraint_handler_t 使用 set_constraint_handler_s 注册捕获 _s 版本函数访问异常:自定义的异常处理
_crotl 循环左移
_crotr 循环右移
div 整数除法:求商和余数
div_t 商和余数结构体,是 div 函数的返回值类型
DOS_MODE 操作系统模式 _osmode 的值
_DOSX32_MODE 操作系统模式 _osmode 的值
ecvt 把一个浮点数转为指定长度的无符号整数字符串,不足补零,
并且返回小数点位置和是否有负号
_ecvt 把一个浮点数转为指定长度的无符号整数字符串,不足补零,
并且返回小数点位置和是否有负号
environ 操作系统环境变量
_environ 操作系统环境变量
exit 结束进程,调用 atexit 添加的函数,调用全局变量的析构函数
_Exit 结束进程,不调用退出时需要执行的函数和全局变量的析构函数
_exit 结束进程,和 exit 相同,为了兼容一些开发工具保留的函数
EXIT_FAILURE exit 函数的参数
EXIT_SUCCESS exit 函数的参数
fcvt 把一个浮点数转为一个无符号整数字符串,保证小数点后面保留指定个数字,
不足补零,并且返回小数点位置和是否有负号
_fcvt 把一个浮点数转为一个无符号整数字符串,保证小数点后面保留指定个数字,
不足补零,并且返回小数点位置和是否有负号
_fileinfo 用于判断信息是否传递给 _spawn 创建的新的进程,已过时的变量
_fmode _open 等函数打开文件的方式,已过时的变量,
需要用 _get_fmode 和 _set_fmode 替代
free 释放内存
_fullpath 相对路径转绝对路径
gcvt 把一个浮点数转成字符串,指定要保留几位有效数字,小数方式或科学计数法,
当这些位有效数字无法用小数方式表达时,会变成科学计数法
_gcvt 把一个浮点数转成字符串,指定要保留几位有效数字,小数方式或科学计数法,
当这些位有效数字无法用小数方式表达时,会变成科学计数法
getenv 获取一个操作系统环境变量的值
getenv_s 获取一个操作系统环境变量的值
_i64toa 64 位长整数 (long long) 转字符串,支持 2 ~ 36 进位制
_i64tow 64 位长整数 (long long) 转字符串,支持 2 ~ 36 进位制
ignore_handler_s 使用 set_constraint_handler_s 注册捕获 _s 版本函数访问异常:忽略内存访问异常
itoa 整数 (int) 转字符串,支持 2 ~ 36 进位制
_itoa 整数 (int) 转字符串,支持 2 ~ 36 进位制
_itow 整数 (int) 转字符串,支持 2 ~ 36 进位制
labs 整数取绝对值
ldiv 整数除法:求商和余数
ldiv_t 商和余数结构体,是 ldiv 函数的返回值类型
llabs 整数取绝对值
lldiv 整数除法:求商和余数
lldiv_t 商和余数结构体,是 lldiv 函数的返回值类型
_lrand 生成一个 0 ~ LRAND_MAX 之间的随机数
LRAND_MAX _lrand 函数生成随机数的最大值
_lrotl 循环左移
_lrotr 循环右移
ltoa 32 位长整数 (long) 转字符串,支持 2 ~ 36 进位制
_ltoa 32 位长整数 (long) 转字符串,支持 2 ~ 36 进位制
_ltow 32 位长整数 (long) 转字符串,支持 2 ~ 36 进位制
_makepath 把驱动器名、文件夹名、文件名和后缀组合为完整的路径和文件名
malloc 分配内存
_MAX_DIR 路径的最大长度
_MAX_DRIVE 驱动器名的最大长度
_MAX_EXT 文件名后缀的最大长度
_MAX_FNAME 文件名的最大长度
_MAX_PATH 完整的路径和文件名的最大长度
MB_CUR_MAX 多字节字符的最大长度
__mb_cur_max 多字节字符的最大长度
mblen 多字节字符字节数
mbstowcs 宽字符串转多字节字符串
_mbstrlen 多字节字符串长度
mbtowc 多字节字符转宽字符
mbtowc_cp 根据指定的代码页进行多字节字符转宽字符
_OS2_20_MODE 操作系统模式 _osmode 的值
OS2_MODE 操作系统模式 _osmode 的值
_osmajor 操作系统主版本号
_osminor 操作系统次版本号
_osmode 操作系统模式
_osversion 操作系统版本,主版本:低位字节,次版本:高位字节
perror 输出错误信息到 stderr
putenv 修改一个操作系统环境变量的值,只是针对当前进程有效
_putenv 修改一个操作系统环境变量的值,只是针对当前进程有效
rand 生成一个 0 ~ RAND_MAX 之间的随机数
RAND_MAX rand 函数生成随机数的最大值
random 生成一个给定范围的随机数
randomize 使用当前的系统时间戳初始化随机数
realloc 调整分配内存大小,或者释放内存
_rotl 循环左移
_rotr 循环右移
_searchenv 从操作系统环境变量指定的文件夹里面寻找文件
_searchstr 从路径列表指定的位置寻找文件
set_constraint_handler_s 注册捕获 _s 版本函数访问异常
_seterrormode 设定指定类型的错误由 Windows 处理还是由调用进程处理,
相当于 Windows API 函数 SetErrorMode
_splitpath 把完整的路径和文件名分解为驱动器名、文件夹名、文件名和后缀
srand 使用给定的 seed number 初始化随机数
strtod 字符串转 IEEE 双精度浮点数 (double)
strtof 字符串转 IEEE 单精度浮点数 (float)
strtol 字符串转 32 位长整数 (long), 支持 2 ~ 36 进位制
strtold 字符串转 IEEE 长浮点数 (long double)
_strtold 字符串转 IEEE 长浮点数 (long double)
strtoll 字符串转 64 位长整数 (long long), 支持 2 ~ 36 进位制
strtoul 字符串转 32 位无符号长整数 (unsigned long), 支持 2 ~ 36 进位制
strtoull 字符串转无符号 64 位长整数 (unsigned long long), 支持 2 ~ 36 进位制
swab 交换奇数字节与偶数字节
_swab 交换奇数字节与偶数字节
sys_errlist 错误信息字符串数组,用于 perror 显示 errno 的错误信息
_sys_errlist 错误信息字符串数组,用于 perror 显示 errno 的错误信息
sys_nerr _sys_errlist 里面错误信息的个数
_sys_nerr _sys_errlist 里面错误信息的个数
system 执行一条控制台命令,如果当前应用程序不是控制台程序,也会自动开启一个控制台执行
_ui64toa 无符号 64 位长整数 (unsigned long long) 转字符串,支持 2 ~ 36 进位制
_ui64tow 无符号 64 位长整数 (unsigned long long) 转字符串,支持 2 ~ 36 进位制
ultoa 32 位无符号长整数 (unsigned long) 转字符串,支持 2 ~ 36 进位制
_ultoa 32 位无符号长整数 (unsigned long) 转字符串,支持 2 ~ 36 进位制
_ultow 32 位无符号长整数 (unsigned long) 转字符串,支持 2 ~ 36 进位制
_wargv 命令行参数
wcstod 字符串转 IEEE 双精度浮点数 (double)
wcstof 字符串转 IEEE 单精度浮点数 (float)
wcstol 字符串转 32 位长整数 (long), 支持 2 ~ 36 进位制
wcstold 字符串转 IEEE 长浮点数 (long double)
_wcstold 字符串转 IEEE 长浮点数 (long double)
wcstoll 字符串转 64 位长整数 (long long), 支持 2 ~ 36 进位制
wcstombs 宽字符串转多字节字符串
wcstoul 字符串转 32 位无符号长整数 (unsigned long), 支持 2 ~ 36 进位制
wcstoull 字符串转无符号 64 位长整数 (unsigned long long), 支持 2 ~ 36 进位制
wctomb 宽字符转多字节字符
wctomb_cp 根据指定的代码页进行宽字符转多字节字符
_wenviron 操作系统环境变量
_wfullpath 相对路径转绝对路径
_wgetenv 获取一个操作系统环境变量的值
wgetenv_s 获取一个操作系统环境变量的值
_WIN_MODE 操作系统模式 _osmode 的值
_wmakepath 把驱动器名、文件夹名、文件名和后缀组合为完整的路径和文件名
_wperror 输出错误信息到 stderr
_wputenv 修改一个操作系统环境变量的值,只是针对当前进程有效
_wsearchenv 从操作系统环境变量指定的文件夹里面寻找文件
_wsearchstr 从路径列表指定的位置寻找文件
_wsplitpath 把完整的路径和文件名分解为驱动器名、文件夹名、文件名和后缀
_wsystem 执行一条控制台命令,如果当前应用程序不是控制台程序,也会自动开启一个控制台执行
_wtof 字符串转 IEEE 双精度浮点数 (double)
_wtoi 字符串转整数 (int)
_wtoi64 字符串转 64 位长长整数 (long long)
_wtol 字符串转 32 位长整数 (long)
_wtold 字符串转 IEEE 长双精度浮点数 (long double)
_wtoll 字符串转 64 位长长整数 (long long)

相关:


C++ Builder 参考手册<cstdlib>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270