这有点难,我无法弄明白.
我有一个int和一个字符串,我需要将其存储为char*,int必须是十六进制
即
int a = 31;
string str = "a number";
Run Code Online (Sandbox Code Playgroud)
我需要将两个单独的选项卡放入char*中.
输出应该是这样的:
1F a number
Run Code Online (Sandbox Code Playgroud)
CB *_*ley 20
适当的包括:
#include <sstream>
#include <ostream>
#include <iomanip>
Run Code Online (Sandbox Code Playgroud)
像这样的东西:
std::ostringstream oss;
oss << std::hex << a << '\t' << str << '\n';
Run Code Online (Sandbox Code Playgroud)
复制结果:
oss.str().c_str()
Run Code Online (Sandbox Code Playgroud)
请注意,结果c_str是临时的(!),const char*所以如果你的函数需要,char *你将需要在某处分配一个可变副本.(也许将其复制到std::vector<char>.)