strtoul() - C語言庫函式


C庫函式unsigned long int strtoul(const char *str, char **endptr, int base) 函式將一個無符號長整型值的字串str中的初始部分根據給定的基數,必須在2和36(含),或特殊值0。

宣告

以下是strtoul() 函式的宣告。

unsigned long int strtoul(const char *str, char **endptr, int base)

引數

  • str -- 這個字串包含一個無符號整數的表示法。

  • endptr -- 這是參考物件char *型別,其值設定功能str中的數值後,到下一個字元。

  • base -- 這是基數,必須是2和36之間的包容性,或者是特殊值0。

返回值

這個函式返回一個長整型值轉換的整數。如果沒有有效的轉換可以執行,一個零值被返回。

例子

下面的例子演示了如何使用strtoul() 函式。

#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|