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

Cannot convert from string to hexadecimal

本文关键字:十六进制 转换 字符串      更新时间:2023-10-16

可能的重复项:
C++十六进制字符串转换为有符号整数

我有一个字符串行,它是一个十六进制数字,比如 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