···
float toFloat(const string& str)
{
istringstream iss(str);
float num;
iss >> num;
return num;
}
vector split(const string &s, const string &seperator)
{
vector result;
typedef string::size_type string_size;
string_size i = 0;
while (i != s.size())
{
//找到字符串中首个不等于分隔符的字母;
int flag = 0;
while (i != s.size() && flag == 0)
{
flag = 1;
for (string_size x = 0; x < seperator.size(); ++x)
if (s[i] == seperator[x])
{
++i;
flag = 0;
break;
}
}
//找到又一个分隔符,将两个分隔符之间的字符串取出;
flag = 0;
string_size j = i;
while (j != s.size() && flag == 0)
{
for (string_size x = 0; x < seperator.size(); ++x)
if (s[j] == seperator[x])
{
flag = 1;
break;
}
if (flag == 0)
++j;
}
if (i != j)
{
//string subStr = s.substr(i, j - i);
float data = toFloat(subStr);
result.push_back(subStr);
i = j;
}
}
return result;
}
···