无法从字符串转换为十六进制

时间:2012-09-24 15:37:00

标签: c++ hex

  

可能重复:
  C++ convert hex string to signed integer

我有一个十六进制数字的字符串,比如说12ab43c ..(但我把它读作字符串)我想将它传递给unsigned char * linehex或直接传递给十六进制所以我以后可以在我的程序中使用它进行进一步的计算。 哪种方法最有效?

1 个答案:

答案 0 :(得分: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