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|