C庫函數(shù)unsigned long int strtoul(const char *str, char **endptr, int base) 函數(shù)將一個無符號長整型值的字符串str中的初始部分根據(jù)給定的基數(shù),必須在2和36(含),或特殊值0。
以下是strtoul() 函數(shù)的聲明。
unsigned long int strtoul(const char *str, char **endptr, int base)
str -- 這個字符串包含一個無符號整數(shù)的表示法。
endptr -- 這是參考對象char *類型,其值設置功能str中的數(shù)值后,到下一個字符。
base -- 這是基數(shù),必須是2和36之間的包容性,或者是特殊值0。
這個函數(shù)返回一個長整型值轉換的整數(shù)。如果沒有有效的轉換可以執(zhí)行,一個零值被返回。
下面的例子演示了如何使用strtoul() 函數(shù)。
#include <stdio.h> #include <stdlib.h> int main() { char str[30] = "2030300 This is test"; char **ptr; long ret; ret = strtoul(str, ptr, 10); printf("The number(unsigned long integer) is %lu ", ret); printf("String part is |%s|", *ptr); return(0); }
讓我們編譯和運行上面的程序,這將產生以下結果:
The number(unsigned long integer) is 2030300 String part is | This is test|