Ale*_*x F 1 c c++ string tokenize
可能重复:
如何在C++中对字符串进行标记?
strtok函数不是线程安全的.Microsoft具有特定于Windows的strtok_s和CString :: Tokenize安全功能.有没有手动编码的跨平台CRT/C++库方法呢?
boost::split.http://www.boost.org/doc/libs/1_51_0/doc/html/string_algo/reference.html#header.boost.algorithm.string.split_hpp
用法示例
#include <vector>
#include <string>
#include <boost/algorithm/string.hpp>
int main()
{
const std::string s = "hello and what";
std::vector<std::string> v;
boost::split(v, s, [](char c) { return c == ' '; }, boost::token_compress_on);
for (const auto& str : v)
{
std::cout << str << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
http://liveworkspace.org/code/3dfc9ee9c8497741f9976ac41a14a390
或者使用 boost::tokenizer