把一段字符串根据一个特定的字符标记切割成几个字符串,应该怎样做啊?

来源:百度知道 编辑:UC知道 时间:2024/07/05 14:15:54
eg:
This&is&a&samle&!

如果这些字符在一个cstring里,我按这“&”分割成五个cstring,请问应该怎样写呢?

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main(int argc, char* argv[])
{
const int SIZE = 256;

char szBuf[] = "This&is&a&sample&!";
char szFound[SIZE];
vector<string> vs;
string str;

int i=0;
int k = 0;
while ( szBuf[i] != '\0' )
{
if (szBuf[i] != '&')
{
szFound[k] = szBuf[i];
++k;
}
else
{
szFound[k] = '\0';
str = szFound;
vs.push_back(str);
k = 0;
}

++i;
}
szFound[k] = '\0';
str = szFound;
vs.push_back(str);
for (int j=0; j<vs.size(); ++j)
{
cout<<vs[j]<<endl;
}

return 0;
}

CString a("This&is&a&samle&!");
CString b;
CStringArray sa;

i