前言

在学习c++中string相关基本用法的时候,发现了sstream的istringstream[1]可以将字符串类似于控制台的方式进行输入,而实质上这个行为等同于利用空格将一个字符串进行了分割,于是考虑到可以利用这个特性来实现c++库函数中没有的字符串分割函数split

string src("Avatar 123 5.2 Titanic K");

istringstream istrStream(src); //建立src到istrStream的联系

string s1, s2;

int n; double d; char c;

istrStream >> s1 >> n >> d >> s2 >> c;

//以空格为分界的各数值则输入到了对应变量上

实现细节

目的是可以像js中一样,调用一个函数即可以方便地获取到处理完毕后的字符串数组,根据c++的实际情况再进行参数调整。

1. 输入输出:

string* split(int& length, string str, const char token = ' ')

返回:处理完的字符串数组的首地址

传入:字符串str、分隔符token(默认参数为空格)、以及引用参数length,指明处理完毕后动态分配的数组长度

2. 数据透明处理:

由于istringstream会像cin一样,把空格视为数据间的界限,所以当分隔符不是空格时,需要将传入的分隔符换为空格,并且要提前对原有空格进行数据透明处理

字符替换利用了库al

c语言将字符串按空格分割_如何在c++中实现字符串分割函数split详解相关推荐

  1. java字符串字符排列组合_如何在Java中查找字符串的所有排列

    java字符串字符排列组合 In this tutorial, we will learn how to find the permutation of a String in a Java Prog ...

  2. java中如何检查字符串都是数字_如何在Java中检查字符串是否为数字?

    我们将检查字符串是否为数字-借助逻辑,我们将解决此问题,第一步,我们将使用一个名为str的字符串变量,并将任何值存储在其中. 在第二步中,我们将使用一个名为str_numeric的布尔变量,该变量存储 ...

  3. php根据字符串分割字符串_如何在PHP中按字符串分割字符串?

    php根据字符串分割字符串 How to split a string by string in PHP? For example, 如何在PHP中按字符串分割 字符串 ? 例如, "a s ...

  4. python字符串筛选输出_如何在Python中过滤字符串列表

    Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...

  5. mysql中转换成字符串_如何在R中转换字符串的大小写?

    mysql中转换成字符串 Hello, folks. In this tutorial we are going to convert the case of the string in R. The ...

  6. golang 格式化字符串_如何在Go中格式化字符串

    golang 格式化字符串 As strings are often made up of written text, there are many instances when we may wan ...

  7. scala字符串替换_如何在Scala中替换字符串中的正则表达式模式?

    scala字符串替换 Scala | 替换字符串中的正则表达式模式 (Scala | Replacing a regular expression pattern in a string) Repla ...

  8. python3提取字符串中的数字_如何在Python中从字符串中提取数字?

    14 回复 | 直到 1 年前 1 430 3 年前 如果只想提取正整数,请尝试以下操作: >>> str = "h3110 23 cat 444.4 rabbit 11 ...

  9. python字符串转浮点数_如何在Python中检查字符串是否为数字(浮点数)?

    python字符串转浮点数 Using python it is very to interconvert the datatypes of a variable. A string can be e ...

最新文章

  1. Python数据可视化——使用Matplotlib创建散点图
  2. 如何解决普通用户使用sudo找不到命令
  3. Webpack模块化原理简析
  4. 设计模式:依赖倒置原则
  5. 外观模式(Façade Pattern)
  6. c语言中 数组 左移,如何将一个数组的元素循环左移?
  7. 【ElasticSearch】es 面试题 视频 笔记
  8. ERP项目实施记录09
  9. [Java面试十]浏览器跨域问题.
  10. 惠普打印机136w硒鼓芯片怎么清零_惠普136w打印机怎么清零
  11. mp3太大怎么压缩变小?
  12. Python 基于jieba的三国演义词频分析与可视化
  13. 代码资源之中国天气网城市代码
  14. Linux中的远程连接
  15. dubbo源码阅读 Adaptive机制
  16. ssm实现用户登录功能拦截
  17. 移动商务,还是短信商务?
  18. 移动硬盘有文件但看不见怎么恢复文件
  19. 《漫步华尔街》摘抄与读后感
  20. 牛逼!StarRocks 2.0正式发布,新一年,新启航,新极速!

热门文章

  1. QT-全键盘支持中英文
  2. Mysql修改数据目录(迁移到挂载盘-5.7版本)
  3. 使用JQuery UI完成可输入内容且自动匹配的的下拉列表
  4. MediBangPaint Pro for Mac(漫画制作软件)
  5. apex声音断断续续_【游戏耳机佩戴】_摘要频道_什么值得买
  6. Live_2014/12/21
  7. Hello Git(五)——Git分布式工作流程
  8. Amazon EMR 配置 Hive 对Hue用户的权限控制
  9. 中山大学计算机在职研究生分数线,2016年中山大学考研(一月联考)复试基本分数线...
  10. 【历史上的今天】3 月 26 日:谷歌创始人诞生;AMD 创始人出生;第一届世界 Altair 计算机大会