如何在C ++中将字符串添加到字符串向量中

时间:2014-05-08 10:01:10

标签: c++ string vector add

我有:

vector<string> *history;
history = new vector<string>[300];

其中历史记录应包含多个字符串(最多300个)。

然后我这样做是为了添加一个字符串:

std::stringstream sstm;
sstm << frameProc << " ";
string result = sstm.str();
history[xyz]= result;  //This line does not work

但这不起作用。我该怎么做?

2 个答案:

答案 0 :(得分:6)

您在这里动态分配vector<string>数组:

vector<string> *history;
history = new vector<string>[300];

你真正需要的是一个字符串向量:

std::vector<std::string> history;
std::stringstream sstm;
sstm << frameProc << " ";
std::string result = sstm.str();
history.push_back(result);

答案 1 :(得分:1)

如果要回答您的问题

  

如何在C ++中将字符串添加到字符串向量

然后按以下方式完成

std::vector<std::string> v;

v.push_back( "Some string" );

v.insert( v.end(), "Some string" );

如果要考虑您的代码段,那么正确的语句将为

history[xyz].push_back( result );

history[xyz].insert( history[xyz].end(), result );

修改

另外我想也许你做错了什么不明白你在做什么。然后考虑以下代码。也许它会有所帮助。

std::vector<std::string> history( 300 );
//...
history[xyz] += result;