sstream简析

sstream简析3月20日关于C++中的sstream类C++程序把输入和输出看作字符流,输入时,程序从输入流中提取字节,输出时,程序把字节插入到输出流中。对于输入输出流既可以来自标准输入输出设备,也可以来自文件,甚至可以来自String对象,三者分别属于iostreamfamily、fstreamfamily、sstreamfamily。对于iostream类,就是我们通常所说的标

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

3月20日

关于C++中的sstream类

C++程序把输入和输出看作字符流,输入时,程序从输入流中提取字节,输出时,程序把字节插入到输出流中。对于输入输出流既可以来自标准输入输出设备,也可以来自文件,甚至可以来自String对象,三者分别属于iostream family、fstream family、sstream family。

对于iostream类,就是我们通常所说的标准流,它把程序跟标准I/O连接在一起,输入来自键盘,输出送往监视器。

对于fstream类,它把程序跟文件关联起来,输入来自文件,输出到文件。

对于sstream类,它是提供程序和string对象之间的I/O,可通过ostringstream sout和istringstream sin来声明两个对象,分别对应输出流和输入流,这给编程带来极大的方便,例如可以从文本文件中读取一批数字字符到string对象中,再把string对象作为程序的输入流,既可把从文件中读取来的数字字符单个进行读取,从而进行处理。例如:

string line;

int word;

ifstream fin("test.txt");

while(getline(fin,line))   //

{

    istringstream sin(line);  //输入流重定向到string对象

    while(sin>>word)          //在string对象中读取数字

    {    ......               //处理

    }

}

当然了,输出也是一样的道理。

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136610.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu安装完毕后拔掉u盘_4个CPU最大能开多少进程

    ubuntu安装完毕后拔掉u盘_4个CPU最大能开多少进程该方法同样适用于:1.强制卸载无法卸载的USB设备,比如:解决因为在传输数据未完成时直接拔下存储设备导致的后台D进程驻留(无法被kill);2.系统更新固件可能导致(只遇到过一次)的USB存储设备无法被识别(重启系统同样可以解决);3.不重启系统,只重启xhci控制器。

    2022年9月15日
    1
  • BBSSDK 产品分析

    BBSSDK 产品分析

    2021年6月8日
    107
  • python3 三种字符串(无前缀,前缀u,前缀b)与encode()「建议收藏」

    python3 三种字符串(无前缀,前缀u,前缀b)与encode()「建议收藏」假设读者已经了解了什么叫字符集,什么叫编码,什么叫解码。首先要明确,虽然有三种前缀(无前缀,前缀u,前缀b),但是字符串的类型只有两种(str,bytes),实验如下:根据程序以及以上运行结果,发现无前缀,和前缀u,构造出来的字符串常量,是一样的。类型一样是str,长度一样是3,==判断也是返回true。其实,这里是因为,python3中,字符串的存储方式都是以Unicode字符…

    2022年5月6日
    66
  • 投影矩阵 视图模型矩阵「建议收藏」

    投影矩阵 视图模型矩阵「建议收藏」
        OpenGL在设置场景时,要用到两个矩阵:投影矩阵和模型视图矩阵通过glMatrixMode来指定下面的矩阵操作是针对哪一个矩阵进行的。
        gluLookatup,glTranslate,glRotate,glScale,glOrtho,gluPerspective等函数只根据其参数计算出一个矩阵M,然后与当前的栈顶元素T相乘;但这些函数本身不能自动找到应该对应的矩阵堆栈,你可以将它们放在任何矩阵堆栈操作中,比如可以将gluLookatup放在glMat

    2022年5月14日
    32
  • echarts实现中国地图(Vue)

    1,安装echartsnpminstallecharts–save2,引入importechartsfrom”echarts”;import’echarts/map/js/china.js’//引入中国地图数据(*********重中之重)3,配制option{visualMap:{//地图图例show:true,left:26,bottom

    2022年4月5日
    329
  • KNIME数据库扩展指南

    KNIME数据库扩展指南KNIME 数据库扩展指南介绍 KNIME 数据库扩展提供了一组 KNIME 节点 这些节点允许连接到 JDBC 兼容的数据库 这些节点位于 节点存储库 中的 数据库 类别中 您可以在其中找到许多数据库访问 操作和编写节点 数据库节点是每个 KNIMEAnalyti 安装的一部分 不需要安装任何其他的 KNIME 扩展 本指南描述了 KNIME 数据库扩展 并除其他外 展示了如何连接到数据库以及如何在数据库内部执行数据操作 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传

    2025年8月15日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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