分割字元串并且把分割出的子串用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);
}