strtoul
是一個C語言庫函數,用于將給定的字符串轉換為無符號長整數(unsigned long
)
<stdlib.h>
頭文件,因為這是 strtoul
函數所在的頭文件。#include <stdlib.h>
strtoul
函數的原型如下:unsigned long strtoul(const char *nptr, char **endptr, int base);
參數說明:
nptr
:要轉換的字符串。endptr
:(可選)如果不為NULL,則在轉換完成后,將此指針指向字符串中未被轉換的剩余部分。base
:表示要解析的數字的基數。它必須介于2和36之間,或者為0。如果base
為0,則會根據字符串的前綴來確定基數:如果以 “0x” 或 “0X” 開頭,則基數為16;如果以 “0” 開頭,則基數為8;否則基數為10。strtoul
將字符串轉換為無符號長整數。#include<stdio.h>
#include <stdlib.h>
int main() {
const char *str = "12345";
char *end;
unsigned long result;
result = strtoul(str, &end, 10);
if (end == str) {
printf("無法轉換字符串為無符號長整數\n");
} else if (*end != '\0') {
printf("字符串中存在無法轉換的字符: %s\n", end);
} else {
printf("轉換結果: %lu\n", result);
}
return 0;
}
注意:當使用 strtoul
函數時,請確保輸入的字符串表示有效的無符號長整數,否則可能導致未定義行為。建議檢查 endptr
參數以確認轉換是否成功。