C 庫函數 - strtol()
描述
C 庫函數 long int strtol(const char *str, char **endptr, int base) 把參數 str 所指向的字串根據給定的 base 轉換為一個長整數(類型為 long int 型),base 必須介於 2 和 36(包含)之間,或者是特殊值 0。
聲明
下麵是 strtol() 函數的聲明。
long int strtol(const char *str, char **endptr, int base)
參數
- str -- 要轉換為長整數的字串。
- endptr -- 對類型為 char* 的對象的引用,其值由函數設置為 str 中數值後的下一個字元。
- base -- 基數,必須介於 2 和 36(包含)之間,或者是特殊值 0。
返回值
該函數返回轉換後的長整數,如果沒有執行有效的轉換,則返回一個零值。
實例
下麵的實例演示了 strtol() 函數的用法。
#include <stdio.h> #include <stdlib.h> int main() { char str[30] = "2030300 This is test"; char *ptr; long ret; ret = strtol(str, &ptr, 10); printf("數字(無符號長整數)是 %ld\n", ret); printf("字串部分是 |%s|", ptr); return(0); }
讓我們編譯並運行上面的程式,這將產生以下結果:
數字(無符號長整數)是 2030300 字串部分是 | This is test|