strtoll
是一個C語言庫函數,用于將字符串轉換為長整型(long long
)數值
stdlib.h
頭文件以使用 strtoll
函數。#include <stdlib.h>
const char *str = "123456789012345";
long long num;
strtoll
函數進行轉換:調用 strtoll
函數并傳入字符串變量、一個指向字符的指針(用于存儲處理過程中遇到的非數字字符的位置)以及要轉換的數字的基數(例如,十進制為 10)。char *endptr;
num = strtoll(str, &endptr, 10);
endptr
是否指向字符串的末尾,以確定字符串是否完全由數字組成。如果不是,可能發生了錯誤或者字符串中包含非數字字符。if (endptr == str || *endptr != '\0') {
printf("Invalid input: not a number.\n");
} else {
printf("The converted number is: %lld\n", num);
}
下面是一個完整的示例代碼:
#include<stdio.h>
#include <stdlib.h>
int main() {
const char *str = "123456789012345";
long long num;
char *endptr;
num = strtoll(str, &endptr, 10);
if (endptr == str || *endptr != '\0') {
printf("Invalid input: not a number.\n");
} else {
printf("The converted number is: %lld\n", num);
}
return 0;
}
這段代碼會將字符串 “123456789012345” 轉換為長整型數值并輸出。