简介
c++的标准库string很多东西没有提供,包括但不限于split/join/slice, 而用到的机会又很多, 虽然利用标准库/第三方库实现split功能的方式有千千万, 本篇就按照how to split a string in c++中的几种方式给出一下,已经能覆盖到平时的使用场景了.
字符流迭代器
使用场景:只有标准库可用; 只对空格进行分割
原理:输入流迭代器istream_iterator将输入流(文件/string等)分割成若干元素, 分割是通过迭代器自增实现, 每自增一次迭代器就从输入流中获取一个元素直到末尾, 而尾迭代器不需要赋值, 默认就空的; 流迭代器分割输入流的默认算法是按照空格来截取, 因此可以利用输入流迭代器的此种特性来做字符串分割.
std::istringstreamiss(text);
std::istream_iterator<std