c++ split(getline实现)

众所周知

c++中string没有自带的split函数(亏你还是老大哥)

网上关于split函数的优秀写法很多

本人不再赘述

今几日翻C++API时发现了getline一个有趣的方法

istream& getline (istream& is, string& str, char delim);

 

第一个参数是一个输入流,第二个参数是一个对字符串的常引用,第三个参数是分割符。

在读入时遇到分割符则停止

可以用这个来实现单分割符的split功能

 1 #include <iostream>
 2 #include <string>
 3 #include <sstream>
 4 using namespace std;
 5 
 6 int main() {
 8     stringstream input("45,65,45231,4646,4564");
 9     string str;
11     while (getline(input, str, ',')) {
12         cout << str << endl;
13     }
15     return 0;
16 }

 

 

简单方便快速。 

posted @ 2019-07-12 21:51  曰..曰  阅读(477)  评论(0编辑  收藏  举报