STL уже не имеет такой метод в наличии.
Однако можно или использовать C strtok()
функция при помощи std::string::c_str()
участник, или можно записать собственное. Вот пример кода, который я нашел после быстрого поиска Google ( "строковое разделение STL" ):
void Tokenize(const string& str,
vector& tokens,
const string& delimiters = " ")
{
// Skip delimiters at beginning.
string::size_type lastPos = str.find_first_not_of(delimiters, 0);
// Find first "non-delimiter".
string::size_type pos = str.find_first_of(delimiters, lastPos);
while (string::npos != pos || string::npos != lastPos)
{
// Found a token, add it to the vector.
tokens.push_back(str.substr(lastPos, pos - lastPos));
// Skip delimiters. Note the "not_of"
lastPos = str.find_first_not_of(delimiters, pos);
// Find next "non-delimiter"
pos = str.find_first_of(delimiters, lastPos);
}
}
Взятый от: http://oopweb.com/CPP/Documents/CPPHOWTO/Volume/C++Programming-HOWTO-7.html
, Если у Вас есть вопросы о примере кода, оставьте комментарий, и я объясню.
И просто потому что это не реализует typedef
названный итератором или перегружается <<
, оператор не означает, что это - плохой код. Я использую функции C вполне часто. Например, printf
и scanf
и быстрее, чем [1 115] std::cin
и std::cout
(значительно), fopen
, синтаксис является намного более дружественным для двоичных типов, и они также имеют тенденцию производить меньший EXEs.
не становятся проданными на этом "Элегантность по производительности" соглашение.
gSOAP превосходен :)
(Не дайте себя одурачить, увидев дрянной сайт)
POCO Remoting - коммерческое решение, основанное на библиотеках POCO C ++ с открытым исходным кодом .
Изменить Вы можете попробовать Qt SOAP это коммерческая лицензия с двойной лицензией / LGPL.