日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux函數(shù)atoi的功能簡介(linuxatoi)

atoi(ASCII to integer)函數(shù)它把字符串中的字符(第一個(gè)字符必須為數(shù)字)轉(zhuǎn)換為int型數(shù),只處理十進(jìn)制數(shù)。如果數(shù)值太大,超出了范圍,atoi函數(shù)就返回LONG_MAX或者LONG_MIN。

atoi函數(shù)用法:

int atoi (const char *str);

atoi函數(shù)示例:

int num;

num=atoi(“12345”);

運(yùn)行結(jié)果:

num的值為12345

實(shí)際上atoi函數(shù)的核心需要遍歷字符串里的每個(gè)字符,也就是遍歷字符串中的每一位數(shù)字,將其拆分出來,然后每位數(shù)字的值*10的n次方,然后進(jìn)行累加,最后得到的就是整數(shù)值。具體的實(shí)現(xiàn)代碼如下:

int atoi(const char* str)

{

int result = 0; //最終返回的結(jié)果

int minus = 0; // 用來記錄是否為負(fù)數(shù)

int pos = 0; // 用來記錄是否有正負(fù)號(hào),如果有且有數(shù)字,則pos=1

// 遍歷計(jì)算字符串

while(*str != ‘\0’)

{

if(*str == ‘-‘ && pos == 0)

// 如果是負(fù)號(hào),則把minus = -1;表示此數(shù)為負(fù)數(shù)

minus = -1;

else if(‘0’

{

// *str乘以10的n次方 ( n為字符串的當(dāng)前位下標(biāo) )

result = result*10 + (*str – ‘0’);

pos = 1; //記錄已經(jīng)有數(shù)字

}

else if(pos == 0)

// 如果非數(shù)字非負(fù)號(hào),直接返回

return 0;

str++;

}

return minus == -1 ? -result : result;

}

總結(jié)后,可以看出,linux函數(shù)atoi的功能是把字符串中的字符轉(zhuǎn)換為int型數(shù),使用這個(gè)函數(shù)把字符串轉(zhuǎn)化為整型數(shù)數(shù)字可以大大減少我們編程的工作量,以及節(jié)省空間和時(shí)間上的浪費(fèi)。

成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。


分享題目:Linux函數(shù)atoi的功能簡介(linuxatoi)
當(dāng)前路徑:http://www.dlmjj.cn/article/cccgeps.html