我正在尝试将用户输入作为字符串,并将每个单独的元素转换为它的十六进制等价物,作为 C++ 中的 unsigned char。例如,我想获取用户输入“CL”并将其转换为存储在无符号字符中的 0x43 和 0x4C。
string ui;
unsinged char uihex;
cout << "Please enter in command to execute: ";
cin >> ui;
for (int i=0; i<ui.length()-1; i++)
{
uihex = static_cast<unsigned char>(ui);
}
最佳答案
如果您想打印 十六进制值,您需要将char
变量转换为整数类型。这将帮助编译器选择正确的打印函数:
char c = 'C';
cout << "0x" << hex << ((unsigned int) c) << endl;
关于c++ - 获取字符串中的每个字符并将其转换为十六进制 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30850137/