2012-09-24 51 views
-2

可能重複:
C++ convert hex string to signed integer無法從字符串轉換爲十六進制

我有串線,是一個十六進制數說喜歡12ab43c。(但我看過它作爲字符串),我想將它傳遞給一個無符號的char * linehex或者直接傳給一個十六進制,所以我可以在我的程序中使用它進行進一步的計算。 哪種做法最有效?

+1

檢查出['strtol'](http://en.cppreference.com/w/cpp/string/byte/strtol)函數。 –

回答

3

最簡單的可能是將它作爲一個數字來讀取,而不是以字符串形式讀取,然後轉換。例如:

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

相關問題