我有一个std::string和一个int.我想将整数的ASCII(字符串文字)十六进制表示连接到std::string.
例如:
std::string msg = "Your Id Number is: ";
unsigned int num = 0xdeadc0de; //3735929054
Run Code Online (Sandbox Code Playgroud)
所需的字符串:
std::string output = "Your Id Number is: 0xdeadc0de";
Run Code Online (Sandbox Code Playgroud)
通常情况下,我只是使用printf,但我不能用std :: string做这个(我可以吗?)
有关如何做到这一点的任何建议?
xto*_*ofl 35
使用字符串流.您可以将它用作任何其他输出流,因此您可以同样插入std::hex其中.然后提取它的stringstream::str()功能.
std::stringstream ss;
ss << "your id is " << std::hex << 0x0daffa0;
const std::string s = ss.str();
Run Code Online (Sandbox Code Playgroud)
基于xtofl的答案,您正在寻找的标题是<iomanip>.这就是std::hex,std::dec和std::oct所有的活,可直接进入溪流这样,无论被发送到流它们被转换为基地.
| 归档时间: |
|
| 查看次数: |
28013 次 |
| 最近记录: |