我有一个应用程序,我需要像这样在一个变量中组合字符串:
int int_arr[4];
int_arr[1] = 123;
int_arr[2] = 456;
int_arr[3] = 789;
int_arr[4] = 10;
std::string _string = "Text " + int_arr[1] + " Text " + int_arr[2] + " Text " + int_arr[3] + " Text " + int_arr[4];
它给我编译错误
Error C2210: '+' Operator cannot add pointers" on the second string of the expression.
据我所知,我正在组合字符串文字和整数,而不是指针。
我应该使用另一个连接运算符吗?还是表达式完全错误,应该想出另一种方法来实现它?
顺便说一句,我正在使用 Visual Studio 2010
最佳答案
C 和 C++ 都不允许连接 const char *
和 int
。即使是 C++ 的 std::string
,也不会连接整数。改用流:
std::stringstream ss;
ss << "Text " << int_arr[1] << " Text " << int_arr[2] << " Text " << int_arr[3] << " Text " << int_arr[4];
std::string _string = ss.str();
关于c++ - C++ 中的串联运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882539/