溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C語(yǔ)言中strtol函數(shù)的用法是什么

發(fā)布時(shí)間:2021-08-02 12:56:08 來(lái)源:億速云 閱讀:229 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要講解了“C語(yǔ)言中strtol函數(shù)的用法是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“C語(yǔ)言中strtol函數(shù)的用法是什么”吧!

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)注!

向AI問一下細(xì)節(jié)

免責(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)容。

AI