C語言之strtol函數用法詳解

strtol 函數用法

strtol是一個C語言函數,作用就是將一個字符串轉換為長整型long,其函數原型為:

long int strtol (const char* str, char** endptr, int base);

下面我們來看下每個參數的意義:

str是要轉換的字符

enptr是指向第一個不可轉換的字符位置的指針

base的基數,表示轉換成為幾進制的數

兩點註意:

  • 當 base 的值為 0 時,默認采用 10 進制轉換,但如果遇到 ‘0x’ / ‘0X’ 前置字符則會使用 16 進制轉換,遇到 ‘0’ 前置字符則會使用 8 進制轉換。
  • 若endptr 不為NULL,則會將遇到的不符合條件而終止的字符指針由 endptr 傳回;若 endptr 為 NULL,則表示該參數無效,或不使用該參數。
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);

上面這段代碼先定義瞭一個值為1.10.2的字符串c,然後調用strtol後,此時的d為1,字符串c變成瞭.10.2

參考資料:

http://c.biancheng.net/cpp/html/129.html

到此這篇關於C語言之strtol函數用法詳解的文章就介紹到這瞭,更多相關C語言之strtol函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: