c++ split(getline实现)
众所周知
c++中string没有自带的split函数(亏你还是老大哥)
网上关于split函数的优秀写法很多
本人不再赘述
今几日翻C++API时发现了getline一个有趣的方法
istream& getline (istream& is, string& str, char delim);
第一个参数是一个输入流,第二个参数是一个对字符串的常引用,第三个参数是分割符。
在读入时遇到分割符则停止
可以用这个来实现单分割符的split功能
#include <iostream>
#include <string>
#include <sstream>
using namespace std; int main() {
stringstream input("45,65,45231,4646,4564");
string str;
while (getline(input, str, ',')) {
cout << str << endl;
}
return ;
}

简单方便快速。
c++ split(getline实现)的更多相关文章
- c/c++ 常见字符串处理函数总结 strlen/sizeof strcpy/memcpy/strncpy strcat/strncat strcmp/strncmp sprintf/sscanf strtok/split/getline atoi/atof/atol
		这里总结工作中经常用到的一些c/c++的字符串处理方法,标黑的是使用频率较高的 1.strlen函数:计算目标字符串长度, 格式:strlen(字符指针指向区域) 注意1:①不包含字符串结束 ... 
- vi/vim使用进阶: vimrc初步
		本节所用命令的帮助入口: :help compatible :help mapleader :help map :help autocmd 当vim在启动时,如果没有找到vimrc或gvimrc,它缺 ... 
- 宋宝华:关于Ftrace的一个完整案例【转】
		Ftrace简介 Ftrace是Linux进行代码级实践分析最有效的工具之一,比如我们进行一个系统调用,出来的时间过长,我们想知道时间花哪里去了,利用Ftrace就可以追踪到一级级的时间分布. Ftr ... 
- 宋宝华:关于Ftrace的一个完整案例
		本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) Ftrace简介 Ftrace是Lin ... 
- 问题排查利器:Linux 原生跟踪工具 Ftrace 必知必会
		本文地址:https://www.ebpf.top/post/ftrace_tools TLDR,建议收藏,需要时查阅. 如果你只是需要快速使用工具来进行问题排查,包括但不限于函数调用栈跟踪.函数调用 ... 
- 利用c++ std::getline实现split
		getline reads characters from an input stream and places them into a string: getline从输入流中读取字符, 并把它们转 ... 
- C++ Split string into vector<string> by space
		在C++中,我们有时候需要拆分字符串,比如字符串string str = "dog cat cat dog"想以空格区分拆成四个单词,Java中实在太方便了,直接String[] ... 
- c++分割字符串(类似于boost::split)
		由于c++字符串没有split函数,所以字符串分割单词的时候必须自己手写,也相当于自己实现一个split函数吧! 如果需要根据单一字符分割单词,直接用getline读取就好了,很简单 #include ... 
- Python第五天   文件访问    for循环访问文件    while循环访问文件   字符串的startswith函数和split函数  linecache模块
		Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块 目录 Pycharm使用技巧( ... 
随机推荐
- Redis配置文件中bind参数
			前言 我们都知道,redis 的配置文件中,默认绑定接口是 127.0.0.1,也就是本地回环接口,所以是无法从外网连接 redis 服务的.如果想要让外网也能连接使用服务器上的 redis 服务,可 ... 
- iOS开发之实现图片自动切换(类似android画廊效果)
			#import ViewController.h #define ImageViewCount 5 @interface ViewController ()<uiscrollviewdele ... 
- HDU6140--Hybrid Crystals(思维)
			Hybrid Crystals Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ... 
- 在Spring Boot快捷地读取文件内容的若干种方式
			引言: 在Spring Boot构建的项目中,在某些情况下,需要自行去读取项目中的某些文件内容,那该如何以一种轻快简单的方式读取文件内容呢? 基于ApplicationContext读取 在Spri ... 
- SRS之RTMP handshake
			1. SrsRtmpServer::handshake 位于 srs_rtmp_stack.cpp. int SrsRtmpServer::handshake() { int ret = ERROR_ ... 
- 解决Vue在IE中报错出现不支持=>等ES6语法和“Promise”未定义等问题
			在做VUE项目中大家可能会发现除了IE内核浏览器之外项目都能正常显示,但是到IE就萎了,这主要是IE不支持ES6的原因. 要解决这个我们要先引入browser.js,这样你可以使用ES2015(jav ... 
- vue 的多页面应用
			vue-cli3 中构建多页面的应用 第一步:先创建一个 vue-cli3 的项目:vue create app 然后运行项目:npm run serve 现在开始多页面的应用: 首先在 src 的目 ... 
- pandas.DataFrame 中的insert(), pop()
			pandas.DataFrame 中的insert(), pop() 在pandas中,del.drop和pop方法都可以用来删除数据,insert可以在指定位置插入数据. 可以看看以下示例. imp ... 
- DP&图论  DAY 6  上午
			DP&图论 DAY 6 上午 双连通分量 从u-->v不存在必经边,点 点双连通分量 边双连通分量 点/边双连通分量缩点之后变成一个树 找连通块的时候不越过割点或者桥 P3469 [ ... 
- Volley源码分析
			取消请求的源码分析: public void cancelAll(RequestFilter filter) { synchronized (mCurrentRequests) { for (Requ ... 
