The C++ String Toolkit Library (StrTk) has the following solution to your problem:
#include <string>
#include <deque>
#include "strtk.hpp"
int main()
{
{
std::string data = "12 34 46";
std::deque<int> int_list;
strtk::parse(data," ",int_list);
}
{
std::string data = "12.12,34.34|46.46 58.58";
std::deque<double> double_list;
strtk::parse(data," ,|",double_list);
}
return 0;
}
More examples can be found Here
Note: The parsing process is EXTREMELY fast and efficient, putting stdlib and boost based solutions to shame.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…