将向量大小连接到字符串

时间:2019-01-30 02:39:16

标签: c++ string vector

我正在尝试将向量大小的字符串连接起来。无论我使用哪种方法,都无法获得所需的输出。当我使用cout时,它可以正常打印,当我在调试器中查看字符串的值时,它显示为Schemes(\002)。问题是:我需要返回一个字符串,而不是直接打印到控制台,所以我不能使用cout;我必须使用串联。为什么字符串和向量大小不能按预期串联?

所需字符串: schemes(2)

输出的字符串: schemes()

代码:

using namespace std;    

string s;
vector<Object> schemes;

// Add two elements to vector

// Method 1 (doesn't work)
s += "Schemes(" + schemes.size();
s += ")"; // I can't put this on the same line because I get 'expression must have integral or unscoped enum type' error

// Method 2 (doesn't work)
s += "Schemes(";
s.push_back(schemes.size());
s += ")";

// Method 3 (doesn't work)
s += "Schemes(";
s.append(schemes.size());
s += ")";

1 个答案:

答案 0 :(得分:3)

schemes.size()是整数类型。这意味着您正在尝试将整数类型连接为字符串类型。

尝试

s = "Schemes(" + to_string(schemes.size()) + ")";