我正在尝试将字符串值存储到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。
我遗漏了一些东西。
答案 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();