新聞中心
linux 下的 atoi 函數(shù)是C 語(yǔ)言中文本轉(zhuǎn)換為 int 類型數(shù)字的最簡(jiǎn)單函數(shù),其中字母 a 表示 ascii to integer(從 ASCII 碼轉(zhuǎn)換為整數(shù))。它從參數(shù) nptr 所指向的字符串中取得一個(gè)整數(shù)值,根據(jù)該字符串中的內(nèi)容,atoi 函數(shù)可以識(shí)別出十進(jìn)制,八進(jìn)制或十六進(jìn)制的數(shù)值表示,結(jié)果是以 int 型返回。

具體的int型返回值規(guī)則如下:
1.如果 nptr 所指向的字符串為空字符串或沒有可轉(zhuǎn)換的值,函數(shù)返回默認(rèn)值 0;
2.如果 nptr 所指的的字符串表示的值不能被存儲(chǔ)在long變量中,返回 0 或者 INT_MAX 當(dāng)返回值大于 INT_MAX;
3.如果 nptr 所指向的字符串表示的值可以被存儲(chǔ)在 long 類型變量中,函數(shù)可以返回轉(zhuǎn)換后的值。
atoi 函數(shù)對(duì)字符串轉(zhuǎn)換成整數(shù)的處理非常強(qiáng)大,僅需傳入字符串參數(shù),就可以將字符串轉(zhuǎn)換為整數(shù)型。它還支持將八進(jìn)制、十六進(jìn)制的字符串轉(zhuǎn)換為 int 類型,其原理簡(jiǎn)單解釋如下:所轉(zhuǎn)換的字符串從頭開始依次掃描,若遇到符號(hào),先判斷看某個(gè)字符是否是有效字符(數(shù)字或字母abcdef),如果是,在統(tǒng)計(jì)得到有效數(shù)字后,根據(jù)進(jìn)制(10 、 8 、 16 )計(jì)算出它的值,最后返回十進(jìn)制結(jié)果。
下面是 atoi 函數(shù)的常見用法:
“`
#include
#include
int main()
{
int num;
char cnum[30]=”1234″; /* 把字符串”1234″ 轉(zhuǎn)換為數(shù)字 */
num = atoi(cnum);
printf(” num is %d\n”,num);
return 0;
}
“`
執(zhí)行上面代碼,將會(huì)輸出: num is 1234 。
從上面的講述我們可以看出 atoi函數(shù)的強(qiáng)大,它會(huì)將字符串中的整數(shù)轉(zhuǎn)換為int類型的變量,比如 “1234”轉(zhuǎn)換為1234 的int 類型變量。 此外,它還可以識(shí)別將8進(jìn)制和16進(jìn)制的字符串轉(zhuǎn)換為整數(shù)類型變量。因此 atoi 函數(shù)已經(jīng)展示出了它實(shí)現(xiàn)文本轉(zhuǎn)換為 int 類型數(shù)字的強(qiáng)大威力。
成都網(wǎng)站營(yíng)銷推廣找創(chuàng)新互聯(lián),全國(guó)分站站群網(wǎng)站搭建更好做SEO營(yíng)銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價(jià)格厚道。提供成都服務(wù)器托管租用、綿陽(yáng)服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽(yáng)服務(wù)器機(jī)房服務(wù)器托管租用。
分享題目:函數(shù)解析Linux下atoi函數(shù)的威力(linuxatoi)
標(biāo)題鏈接:http://fisionsoft.com.cn/article/dhodojd.html


咨詢
建站咨詢
