是的,C++中的strtol函數可以解析十六進制數。當在第三個參數中設置基數為16時,strtol函數會將輸入的字符串解析為十六進制數。例如:
#include <iostream>
#include <cstdlib>
int main() {
const char* hexString = "1A";
char* endPtr;
long hexValue = strtol(hexString, &endPtr, 16);
if (*endPtr != '\0') {
std::cout << "Invalid input" << std::endl;
} else {
std::cout << "Hex value: " << hexValue << std::endl;
}
return 0;
}
上面的代碼會將字符串"1A"解析為十六進制數,輸出結果為26。