strtol 函數用法

來源:互聯網
上載者:User

標籤:

 

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

 

strtol 函數用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.