分割字符串并且把分割出的子串用string类的vector保存起来,代码如下:
其中ch为字符,用来分割字符串的。
// 根据给定符号分割字符串
vector<string> split(const string &ip, char ch)
{
vector<string> result;
int start = 0;
for (int i = 0; i < ip.size(); ++i)
{
if (ip[i] == ch)
{
result.push_back(string(ip.begin() + start, ip.begin() + i));
start = i + 1;
}
}
if (start < ip.size())
{
result.push_back(string(ip.begin() + start, ip.end()));
}
return result;
}
其中以空格来分割字符串还有其他的方法:
如输入是“I am a boy”
则可以用以下代码分割,并且使用以string为单位的stack保存分割后的字符串。
string str;
stack<string> s;
while(cin>>str)
{
s.push(str);
}