複製鏈接
請複製以下鏈接發送給好友

strtoul

鎖定
strtoul,將參數nptr字符串根據參數base來轉換成無符號的長整型數。
中文名
將字符串轉換成無符號長整型
外文名
strtoul
相關函數
atof,atoi,atol,strtod
表頭文件
#include<stdlib.h>
定義函數
unsigned long strtoul

strtoul基本介紹

strtoul (將字符串轉換成無符號長整型數)
atof,atoiatolstrtod,strtol
表頭文件
#include<stdlib.h>
定義函數
unsigned long strtoul(const char *nptr,char **endptr,int base);

strtoul函數説明

strtoul()會將參數nptr字符串根據參數base來轉換成無符號的長整型數。參數base範圍從2至36,或0。參數base代表採用的進制方式,如base值為10則採用10進制,若base值為16則採用16進制數等。當base值為0時會根據情況選擇用哪種進制:如果第一個字符是'0',就判斷第二字符如果是‘x’則用16進制,否則用8進制;第一個字符不是‘0’,則用10進制。一開始strtoul()會掃描參數nptr字符串,跳過前面的空格字符串,直到遇上數字或正負符號才開始做轉換,再遇到非數字或字符串結束時('')結束轉換,並將結果返回。若參數endptr不為NULL,則會將遇到不合條件而終止的nptr中的字符指針由endptr返回。
參數
  • nptr-- 要轉換為無符號長整數的字符串。
  • endptr-- 對類型為 char* 的對象的引用,其值由函數設置為 nptr 中數值後的下一個字符。
  • base-- 基數,必須介於 2 和 36(包含)之間,或者是特殊值 0。
  • 返回轉換後的長整型數,否則返回ERANGE並將錯誤代碼存入errno中。
附加説明
  • ERANGE指定的轉換字符串超出合法範圍。
範例
參考strtol()
例子:將十六進制 0xFF,轉換成 10進制,得到 255
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a;
    char pNum[]="0xFF";
    a=strtoul(pNum,0,0);//最後的0,表示自動識別pNum是幾進制
    printf("%ul\n",a);
    return 0;
}
————輸出 255