博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
灵活的string类与istringstream的联合使用
阅读量:2429 次
发布时间:2019-05-10

本文共 855 字,大约阅读时间需要 2 分钟。

C++库中有着便于开发的函数,string类就是其中一小部分。下面将介绍几个string类中非常有用的函数,并附加了用其实现的几个有用函数。

str.find( childstr [,position] )
该函数返回的是str中childstr子串第一次出现的位置,其中position为可选参数,该参数表示从第几个位置开始查找子串,默认为起始位置(position=0);
str.replace(position,length,str2)
该函数为字符串替换函数,有很多的重载方式,这儿只列出了最常用的方式。其中position表示字符串替换位置,length为替换长度,str2表示替换进去的字符串;
使用这两个函数就能实现对字符串进行替换等操作。
下面是实现将"2019/1/1"的字符串转换为"201911"代码实现:
在这里插入图片描述
str.substr(position,length)
该函数用于提取字符串str中的子串,开始提取子串的位置为position,长度为length;实现如下图:
在这里插入图片描述
istringstream类中有很多有用的函数,这儿就不一一介绍,我们常常建立一个字符串流的对象,将字符串装换为整型等数据。但是当转换时需要提取字符串进行逐一转换时,就不能直接简单转换,而需要一点技巧。
在之前先介绍两个流类的两个函数:
istringstream iss;
iss.str(str1):该函数用于设置对象的数据输入流字符串。
iss.clear():
用于清除相关的错误标志位。如果需要连续重设输入流字符串时,必须使用该函数清除相关标志位,不然不能得到预期效果。
下面是应用实例:
在这里插入图片描述
其中Date类是有关日期的对象,包括三个int类型的数据,内容如下
int year,mon,day;
这样就能实现字符串"2019/1/1"转换成Date类型数据,方便后续数据处理。
这儿dtTmp是一个局部变量,所以不能直接返回其地址,需要传入一个有意义的参数进行接收dtTmp中的数据,而不是直接返回其地址。

转载地址:http://xsjmb.baihongyu.com/

你可能感兴趣的文章
【Java】【算法】——算法篇
查看>>
【Java】【数据库】知识重点——数据库篇
查看>>
【Java】知识重点——消息队列篇
查看>>
【Java】学习总结 —— HashMap之put()方法实现原理
查看>>
【计算机网络】【TCP】如何讲清楚Tcp的三次握手和四次挥手?
查看>>
【Java】-- Java核心知识点总结
查看>>
【数据库】SQL之重点知识点总结
查看>>
【计算机网络】计算机网络知识总结
查看>>
【Java】【Web】JavaWeb相关知识总结 2018-9-17
查看>>
【数据库】突破单一数据库的性能限制——数据库-分库分表总结 2018-9-20
查看>>
【Java】Java常用包的功能 2018-09-21
查看>>
【Java】Map接口主要的四个常用实现类 2018-9-22
查看>>
【Java】HttpServletRequest常用方法2012-9-22
查看>>
【Java】【WEB】XML配置和注解配置的区别 2018-9-23
查看>>
【Java】【WEB】servlet线程不安全问题 2018-9-23
查看>>
【计算机网络】【HTTPS】HTTPS通信原理剖析 2018-9-25
查看>>
【java】优先队列问题2018-9-25
查看>>
【Java】【web】【计算机网络】cookie学习总结 2018-9-28
查看>>
【Java】【编程练习】给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次请返回第一个找到的位置.2018-9
查看>>
【Java】【编程练习】输入一个正整数n,求n!(即阶乘)末尾有多少个 0 ? 2018-9-28
查看>>