c++ - C++ 中的串联运算符?

标签 c++ visual-studio-2010 string string-concatenation

我有一个应用程序,我需要像这样在一个变量中组合字符串:

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/

相关文章:

visual-studio-2010 - 在Visual Studio外部使用NuGet程序包管理器控制台来运行 Entity Framework 迁移

regex - 从字符串中提取数字和名称 [r]

java - 解释参数的方法

c++ - std::condition_variable::wait 是如何实现的?

c# - 注销 - 如何清除缓存,asp.NET

python - 如何生成一个连续的字符串?

c++ - 如何从缓冲区读取特定字符串

c++ - 外部库错误 C++

c++ - 全局运算符删除 - 语法

visual-studio-2010 - 使用XDT-Transform添加评论