从字符串向量中获取值并存储在另一个字符串中?

时间:2013-10-11 10:56:29

标签: string visual-c++ vector stl mfc

我正在尝试将字符串值存储到vector中。然后在存储之后我想逐个存储在字符串中。在第一步中,通过“,”将sting分开并存储到向量中。并再次尝试回溯并进入字符串。

我的代码:

CString sAssocVal = "test1, test2, test3";

istringstream ss( sAssocVal.GetBuffer(sAssocVal.GetLength()) );

vector<string> words;


string token;
while( std::getline(ss, token, ',') )
{
    words.push_back( token );
}

尝试再次从矢量中恢复:

for(int i = 0; i<words.size(); i++)
        std::string st= words[i];

但是st的值总是变为NULL。

我遗漏了一些东西。

2 个答案:

答案 0 :(得分:0)

AFAIK问题是istringstream初始化,一个小修改使你的例子工作:

http://coliru.stacked-crooked.com/a/698818655cbba4e7

您可以先将CString转换为std :: string,有很多关于该问题的主题

答案 1 :(得分:0)

我通过使用此代码解决了这个问题。

   CString st;
    for(int i = 0; i<words.size(); i++)
            st= words[i].c_str();