[初学者求助] 关于vector的问题
void ParseData(LPCTSTR pszData, std::vector <CString> & vecStrings)
{
}
该函数是用来把string加入到vecStrings.如果当前pszData是由许多string组成,string之间用\0分开,结尾处是用\0\0表示结尾,例如 pszData = abc\0defgh\0ijklmno\0\0 怎样才能把 abc\0defgh\0ijklmno\0\0 分割成3个string, 即abc, defgh, ijklmno, 然后再把这3个string加入到vecStrings.
[解决办法]
void ParseData(LPSTR pszData, std::vector <CString> & vecStrings)
{
int i;
CString s;
for(i = 0; ; i++)
{
if(pszData[i] == '\0 ' && pszData[i+1] == '\0 ')
{
vecStrings.push_back(s);
return ;
}
if(pszData[i] != '\0 ')
s += pszData[i];
if(pszData[i] == '\0 ')
{
vecStrings.push_back(s);
s.Empty();
}
}
}