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());