-2
我有串線,是一個十六進制數說喜歡12ab43c。(但我看過它作爲字符串),我想將它傳遞給一個無符號的char * linehex或者直接傳給一個十六進制,所以我可以在我的程序中使用它進行進一步的計算。 哪種做法最有效?
我有串線,是一個十六進制數說喜歡12ab43c。(但我看過它作爲字符串),我想將它傳遞給一個無符號的char * linehex或者直接傳給一個十六進制,所以我可以在我的程序中使用它進行進一步的計算。 哪種做法最有效?
最簡單的可能是將它作爲一個數字來讀取,而不是以字符串形式讀取,然後轉換。例如:
some_stream >> std::hex >> your_number;
快速演示代碼:
#include <iostream>
int main() {
int x;
std::cin >> std::hex >> x;
std::cout << x << "\n";
return 0;
}
輸入:ff
輸出:255
檢查出['strtol'](http://en.cppreference.com/w/cpp/string/byte/strtol)函數。 –