C++中sstream类

C++中sstream类C++中的sstream类用来操作string,可以向string中写入数据,也可以从string中读取数据。该类在sstream头文件中定义。该类可以分为istringstream和ostringstream,其中istreamstream用来从string中读取数据;而ostringstream用来向string中写入数据。1istringstream1.1定义istringstream类的对象可以使用两种方法定义istringstream类的对象istringstreamiss.

大家好,又见面了,我是你们的朋友全栈君。

C++中的sstream类用来操作string,可以向string中写入数据,也可以从string中读取数据。该类在sstream头文件中定义。该类可以分为istringstream和ostringstream,其中istreamstream用来从string中读取数据;而ostringstream用来向string中写入数据。

1 istringstream

1.1 定义istringstream类的对象

可以使用两种方法定义istringstream类的对象

istringstream iss;

或者

istringstream iss("192 168 1 123");

其中,第一种方法没有与string关联,第二种方法保存了字符串”192 168 1 123”的拷贝。

1.2 使用istringstream类的对象读取数据

将istringstream类的对象iis按照“1.1 定义istringstream类的对象”中提到的第二种方式定义,之后通过如下代码读取iss中的数据。

for (int i = 0; i < 4; ++i)
{
  int val;
  iss >> val;
}

每次循环后,val的值分别是192,168,1和123。

1.3 istringstream类的str()函数

该函数有两种使用方法

string str() const;
void str (const string& s);

其中,第一种方法返回与istringstream对象相关联的string的内容;第二种方法是将istringstream对象与string 关联,即设置istringstream对象的内容。

可以使用“1.1 定义istringstream类的对象”中提到的第一种方法定义对象,之后使用str()函数的第二种方法定义istringstream对象的内容。

string strvalues = "192 168 1 123";
iss.str(strvalues);

之后,按照“1.2使用istringstream类的对象读取数据”提到的代码,也可以读取string中的内容。

2 ostringstream

ostringstream类用于向string中写入数据。其定义方式与istringstream相同。

ostringstream oss;
oss << "Hello World" << 123;
string s = oss.str();

以上代码中,将字符串“Hello World”和整型123写入到与ostringstream的对象oss相关联的string中。之后通过str()函数将与其关联的string的内容赋值给字符串s,此时s的值是“Hello World123”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136221.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java代码是怎么运行的「建议收藏」

    Java代码是怎么运行的「建议收藏」Java代码有很多运行方式。在开发工具中运行双击jar文件运行在命令行中运行在网页中运行当然,上述运行方式都离不开JRE,&nbsp;也就是Java运行时环境。JRE仅包含Java程序的必须组件,包括Java虚拟机以及Java核心类库…

  • Silverlight:telerik RadControls中RadGridView的一个Bug及解决办法(转载)

    Silverlight:telerik RadControls中RadGridView的一个Bug及解决办法(转载)当RadGridView中嵌套RadComboBox,且RadGridView的高度不够出现滚动条时,上下拉动滚动条后,RadComboBox中的选中值将丢失!  如下图:  滚动条未拖动前    滚动条上下拖动后(注意下图的高亮部分)    重现该Bug的测试代码:  Model层  TextValueObject.csnamespac…

  • 通过命令查看linux 密码,linux查看用户密码(linux查看用户密码命令)

    通过命令查看linux 密码,linux查看用户密码(linux查看用户密码命令)linux查看用户密码(linux查看用户密码命令)2020-05-1513:18:30共10个回答1、用户名和密码的存储位置存储帐号的文件:/etc/passwd存储密码的文件:/etc/shadow2、可以使用cat、more、head、tail以及vim等命令查看或者修改,如下图所示:比如要查找系统中admin普通用户的密码,则执行:cat/etc/shadow|grep"admin"3、…

  • 第二篇 FastAI数据准备「建议收藏」

    第二篇 FastAI数据准备「建议收藏」一、FastAI代码组织结构(文档链接)FastAI库主要涉及神经网络在如下四个领域的应用:collab(协同滤波问题)、tabular(结构化数据或者说表格数据处理)、text(自然语言处理)、vision(机器视觉)。对每一领域(除了collab),其下又会按照如下结构组织代码:(1)data:定义了模型所需的数据集类。(2)transform:数据预处理(如对图像数据的图像…

  • java反射机制的作用是什么_java反射常用的类有哪些

    java反射机制的作用是什么_java反射常用的类有哪些运行时类型识别(Run-timeTypeIdentification,RTTI)主要有两种方式,一种是我们在编译时和运行时已经知道了所有的类型,另外一种是功能强大的“反射”机制。要理解RTTI在Java中的工作原理,首先必须知道类型信息在运行时是如何表示的,这项工作是由“Class对象”完成的,它包含了与类有关的信息。类是程序的重要组成部分,每个类都有一个Class对象,每当编写并编译了一个…

  • 嵌入式学习路线图「建议收藏」

    嵌入式学习路线图「建议收藏」可能是年前跳槽的比较多,遇到不少同学咨询到嵌入式行业发展和职业规划的问题,这里总结一下嵌入式行业的机遇和选择,希望对读者们有所帮助。我们暂且宏观上把程序员分为3类:业务类,专业类,系统类。 业务类 业务类更多的是在应用程序。随着移动互联网的快速发展出现一批UI设计师,这里的设计师是指APP的界面设计,在注重用户体验的今天对于界面的设计出现水涨船高的需求。一时间Android…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号