<分区>
Possible Duplicate:
How do I tokenize a string in C++?
strtok 函数不是线程安全的。 Microsoft 具有特定于 Windows 的 strtok_s 和 CString::Tokenize 安全函数。是否有跨平台的 CRT/C++ 库方法无需手动编码即可执行此操作?
<分区>
Possible Duplicate:
How do I tokenize a string in 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;
}
}
http://liveworkspace.org/code/3dfc9ee9c8497741f9976ac41a14a390
或者使用boost::tokenizer
关于c++ - 将字符串拆分为标记 - 没有操作系统特定的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12067434/