您好,登錄后才能下訂單哦!
這篇文章主要講解了“C語(yǔ)言中strtol函數(shù)的用法是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“C語(yǔ)言中strtol函數(shù)的用法是什么”吧!
strtol是一個(gè)C語(yǔ)言函數(shù),作用就是將一個(gè)字符串轉(zhuǎn)換為長(zhǎng)整型long,其函數(shù)原型為:
long int strtol (const char* str, char** endptr, int base);
下面我們來(lái)看下每個(gè)參數(shù)的意義:
str是要轉(zhuǎn)換的字符
enptr是指向第一個(gè)不可轉(zhuǎn)換的字符位置的指針
base的基數(shù),表示轉(zhuǎn)換成為幾進(jìn)制的數(shù)
兩點(diǎn)注意:
當(dāng) base 的值為 0 時(shí),默認(rèn)采用 10 進(jìn)制轉(zhuǎn)換,但如果遇到 '0x' / '0X' 前置字符則會(huì)使用 16 進(jìn)制轉(zhuǎn)換,遇到 '0' 前置字符則會(huì)使用 8 進(jìn)制轉(zhuǎn)換。
若endptr 不為NULL,則會(huì)將遇到的不符合條件而終止的字符指針由 endptr 傳回;若 endptr 為 NULL,則表示該參數(shù)無(wú)效,或不使用該參數(shù)。
string v = "1.10.2"; char *c = (char*)v.c_str(); long d = strtol(c, &c, 10); printf("%d\n", d); printf("%s\n", c);
上面這段代碼先定義了一個(gè)值為"1.10.2"的字符串c,然后調(diào)用strtol后,此時(shí)的d為1,字符串c變成了".10.2"。
感謝各位的閱讀,以上就是“C語(yǔ)言中strtol函數(shù)的用法是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)C語(yǔ)言中strtol函數(shù)的用法是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。