cpp 将带有变量的字符串传递给函数
cpp pass string with variables to function
我正在尝试将字符串传递给接受 std::string
的函数。但我希望字符串包含三个变量,一个 char 和两个整数。
我无法让它工作我目前拥有的(示例):
myFunction("the char is: " + std::string(&charVar) + ", int1: " + std::to_string(x1) + ", int2: " + std::to_string(x2) + " and that's it!");
当我打印字符串时,我得到以下信息:
"the char is: U7777, int1: 45, int2: 6 and that's it!"
其中 charVar = 'U'、int1 = 45 且 int2 = 6。
所以问题是 U 之后的 /377 是什么,主要是有没有更好的方法来做到这一点。谢谢!
使用std::ostringstream
#include <sstream>
//...
std::ostringstream strm;
strm << "the char is: " << charVar << ", int1: " <<
x1 << ", int2: " << x2 << " and that's it!";
myFunction(strm.str());
我正在尝试将字符串传递给接受 std::string
的函数。但我希望字符串包含三个变量,一个 char 和两个整数。
我无法让它工作我目前拥有的(示例):
myFunction("the char is: " + std::string(&charVar) + ", int1: " + std::to_string(x1) + ", int2: " + std::to_string(x2) + " and that's it!");
当我打印字符串时,我得到以下信息:
"the char is: U7777, int1: 45, int2: 6 and that's it!"
其中 charVar = 'U'、int1 = 45 且 int2 = 6。
所以问题是 U 之后的 /377 是什么,主要是有没有更好的方法来做到这一点。谢谢!
使用std::ostringstream
#include <sstream>
//...
std::ostringstream strm;
strm << "the char is: " << charVar << ", int1: " <<
x1 << ", int2: " << x2 << " and that's it!";
myFunction(strm.str());