日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

cstdlib库

發(fā)布時間:2023/12/13 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 cstdlib库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

stdlib.h是C標準函數(shù)庫的頭文件,聲明了數(shù)值與字符串轉換函數(shù), 偽隨機數(shù)生成函數(shù), 動態(tài)內存分配函數(shù), 進程控制函數(shù)等公共函數(shù)。 C++程序應調用等價的cstdlib頭文件.

一、常量

常量 作用
NULL 一般定義為0, 或0L, 或(void*)0 表示空指針常量的宏; 換句話說,一個常量用來表示一個總是指向無效的內存地址的指針值。
EXIT_FAILURE 一個非0值 用來指示程序失敗的結束,一般用于exit().
EXIT_SUCCESS 0 用來指示程序成功的結束,一般用于exit()..
RAND_MAX >= 32767 函數(shù)rand()所能返回的最大的值.
MB_CUR_MAX 當前l(fā)ocale中多字節(jié)字符的最大字節(jié)數(shù)目

二、數(shù)據(jù)類型

size_t
算子sizeof返回結果的數(shù)據(jù)類型,實際上是無符號整型.
div_t , ldiv_t,lldiv_t
函數(shù)div, ldiv, lldiv的返回結果的數(shù)據(jù)類型,實際上是包含兩個整數(shù)的結構類型.

三、函數(shù)

3.1 類型轉換

函數(shù) 功能
atof 把字符串轉換為雙精度浮點數(shù)。相當于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新增加的庫函數(shù)。
strtod 把字符串轉換為雙精度浮點數(shù),檢查結果是否溢出,并返回字符串不能轉換部分的地址.
strtof 把字符串轉換為單精度浮點數(shù),檢查結果是否溢出,并返回字符串不能轉換部分的地址.
strtold 把字符串轉換為長雙精度浮點數(shù),檢查結果是否溢出,并返回字符串不能轉換部分的地址.
strtol 把字符串轉換為長整型,檢查結果是否溢出,并返回字符串不能轉換部分的地址.
strtoll 把字符串轉換為long long int,檢查結果是否溢出,并返回字符串不能轉換部分的地址.
strtoul 把字符串轉換為無符號長整形,檢查結果是否溢出,并返回字符串不能轉換部分的地址.
strtoull 把字符串轉換為unsigned long long int,檢查結果是否溢出,并返回字符串不能轉換部分的地址.

3.2 偽隨機數(shù)序列生成

函數(shù) 功能
rand 返回在0到RAND_MAX之間的偽隨機數(shù). 不接受參數(shù)作為隨機數(shù)種子,因此產生的偽隨機數(shù)列相同,有利于程序調試。
srand 初始化rand()接受無符號整型參數(shù)作為偽隨機數(shù)種子.如果種子相同,偽隨機數(shù)列也相同。

3.3 內存的分配與釋放

函數(shù) 功能
aligned_alloc 邊界對齊的動態(tài)內存分配.
calloc 數(shù)組的動態(tài)內存分配,且初始化為全零
malloc 動態(tài)內存分配,其內容不初始化
realloc 釋放老的動態(tài)內存塊,按照給出的尺寸分配新的動態(tài)內存塊,老的內存塊的內容盡量復制到新的內存塊
free 系統(tǒng)釋放動態(tài)分配的內存. 如果是空指針,則無動作發(fā)生;如果指針所指不是動態(tài)分配的內存塊或者是已釋放的內存塊,則行為是未定義的。

3.4 進程控制/與運行環(huán)境的溝通

函數(shù) 功能
abort 導致程序非正常的結束,各種流緩沖區(qū)與臨時文件直接放棄。實際上拋出raise(SIGABRT),缺省的信號處理行為是使用退出代碼3執(zhí)行終止(terminate)操作。如果SIGABRT被捕捉且信號處理程序不返回,則程序將不終止.
atexit 登記一個函數(shù),當程序使用exit正常退出時被登記的函數(shù)自動被調用.
exit 程序正常終止。首先atexit()登記的函數(shù)按照登記的逆序被調用;如果多次調用atexit登記了多個函數(shù),按照登記的逆序調用這些函數(shù)。如果一個函數(shù)被登記了多次,則程序正常退出時該函數(shù)也將被調用多次。然后所有緩沖區(qū)中的數(shù)據(jù)被寫回(flushed);所有打開著的流被關閉;tmpfile函數(shù)創(chuàng)建的文件被刪除。最后,控制權返回給調用環(huán)境,返回數(shù)值表示程序返回時的狀態(tài),0表示EXIT_SUCCESS, 1表示EXIT_FAILURE.
at_quick_exit 登記一個函數(shù),當程序使用quick_exit正常退出時被登記的函數(shù)自動被調用.
_Exit 程序正常終止, 但atexit(), at_quick_exit(), signal()登記的函數(shù)不被調用; 打開的流、文件是否被關閉,由編譯器的實現(xiàn)者決定
getenv 獲得某一個環(huán)境變量的字符串值,如果該環(huán)境變量不存在,返回NULL.
quick_exit 程序正常終止, 但atexit(), 登記的函數(shù)不被調用; at_quick_exit()登記的函數(shù)按登記順序的逆序被調用。
system 把參數(shù)作為外部環(huán)境的命令執(zhí)行。 如果參數(shù)為空,則判斷外部環(huán)境是否有命令解釋器。

3.5 搜索與排序

函數(shù) 功能
bsearch 折半搜索.
qsort 快速排序.

3.6 整數(shù)算術

函數(shù) 功能
abs, labs, llabs 計算整數(shù)的絕對值.
div, ldiv, lldiv 計算整數(shù)除法的商與余數(shù).

3.7 多字節(jié)字符/寬字符轉換

函數(shù) 功能
mblen 計算多字節(jié)字符的長度并確定是否為有效字符.
mbtowc 多字節(jié)字符轉換為寬字符.
wctomb 寬字符轉換為多字節(jié)字符.

3.8 多字節(jié)字符串/寬字符串轉換

函數(shù) 功能
mbstowcs 多字節(jié)字符串轉換為寬字符串.
wcstombs 寬字符串轉換為多字節(jié)字符串.

參考鏈接:
https://wikipedia.sogou.se/wiki/Stdlib.h

總結

以上是生活随笔為你收集整理的cstdlib库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。