C++语言字符串转换为16进制
在C++中,可以使用`std::stringstream`和`std::hex`来将字符串转换为十六进制表示。
下面是一个示例代码:
```cpp
#include <iostream>
#include <sstream>
std::string stringToHex(const std::string& str) {
std::stringstream ss;
ss << std::hex;
for (char ch : str) {
ss << static_cast<int>(static_cast<unsigned char>(ch));
}
return ss.str();
}
int main() {
std::string str = "Hello World";
std::string hexStr = stringToHex(str);
std::cout << hexStr << std::endl;
return 0;
}
输出结果:
48656C6C6F20576F726C64
在这个示例中,stringToHex
函数接受一个字符串作为参数,并使用std::stringstream
来构建一个字符串流。通过设置流的格式为十六进制(std::hex
),然后逐个字符遍历输入的字符串,并将其转换为对应的十六进制表示,最后将结果转换为字符串并返回。
希望对你有帮助!