strtoul,將參數nptr字元串根據參數base來轉換成無符號的長整型數。
基本介紹
基本介紹,函式說明,
基本介紹
strtoul (將字元串轉換成無符號長整型數)
相關函式
atof,atoi,atol,strtod,strtol
表頭檔案
#include<stdlib.h>
定義函式
unsigned long strtoul(const char *nptr,char **endptr,int base);
函式說明
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返回。
返回值
返迴轉換後的長整型數,否則返回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