// split函数
// 第一个参数是字符串, 第二个参数是分割的字符
std::list<std::string> xcc_stringSplit(std::string &str, char &&c)
{
std::list<std::string> list;
size_t strSize{ str.size() };
int f{};
for (unsigned int i = 0; i < strSize; i++)
{
if (str[i] == c)
{
list.push_back(str.substr(f, i - f));
f = i + 1;
}
}
list.push_back(str.substr(f, -1));
return list;
}
下面是调用
std::string str{ "123:456:789:+-*abcd" };
std::cout << str.size() << std::endl;
std::list<std::string> list = xcc_stringSplit(str, ':');
std::cout << "list count = " << list.size() << std::endl;
for (std::list<std::string>::iterator iter = list.begin(); iter != list.end(); iter++)
{
std::cout << *iter << std::endl;
}