c++中,用stringstream实现string的split
2016-07-07 21:36
405 查看
由于stl中的string类,没有split成员函数,所以需要自己实现它。
有两种方法,当你的delimiter是空白符的时候,可以用这个不推荐的取巧方法。
这个方法是利用了,存在stringstream里的string会自动以空白分割。
更加准确且稳定的split方法是这样的:
关于
有两种方法,当你的delimiter是空白符的时候,可以用这个不推荐的取巧方法。
string sentence = "And I feel fine..."; istringstream iss(sentence); copy(istream_iterator<string>(iss), istream_iterator<string>(), ostream_iterator<string>(cout, "\n"));
这个方法是利用了,存在stringstream里的string会自动以空白分割。
更加准确且稳定的split方法是这样的:
vector<string> &split(const string &s, char delim, vector<string> &elems) { stringstream ss(s); string item; while (getline(ss, item, delim)) { elems.push_back(item); } return elems; }
关于
std::getline:
template< class CharT, class Traits, class Allocator > std::basic_istream<CharT,Traits>& getline( std::basic_istream<CharT,Traits>&& input, std::basic_string<CharT,Traits,Allocator>& str, CharT delim ); Parameters input - the stream to get data from str - the string to put the data into delim - the delimiter character Return value input
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- PostgreSQL ERROR: invalid escape string 解决办法
- 浅析STL中的常用算法
- STL区间成员函数及区间算法总结
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- 详解C++中实现继承string类的MyString类的步骤
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- asp.net String.IsNullOrEmpty 方法
- JavaScript中字符串(string)转json的2种方法