C++ stringstream

  C++ 引入了ostringstream、istringstream、stringstream这三个类,这三个类包含在sstream.h头文件中。三个类中

    1)istringstream类用于执行C++风格的串流的输入操作;

    2)ostringstream类用于执行C风格的串流的输出操作;

    3)strstream类同时可以支持两种风格的串流的输入输出操作。

一、stringstream

  stringstream的一个重要的作用是用来做数据的转换的,相比其他实现方法,它更加安全、简便。

  1)数值转成 string:

     

    在代码中我们先采用科学计数法声明了一个整数n,然后声明了一个stringsteam的实例strm,接着把整数n“流入”到strm里,再让strm中数据“流出”到s中,就成功完成了转换,运行结果如下:

    

  2)string转成数值:

    

   代码中我们先声明了一个string类s,先让它流入到strm再流到n,此时便成功地将s转成double:

   

    不过,假如我们把n的类型声明为int的话,转换依然成功,只是输出的n的值就会是1,因为n未int,所以从strm“流入”n时遇到小数点转换便结束。

  //To be continued.

时间: 2024-08-03 22:38:27

C++ stringstream的相关文章

stringstream对基本类型之间的方便转化

stringstream利用流,可以对基本类型之间进行很方便的转化. 今天周赛标程里有,所以搜索了下,还觉得挺有用的,比sprintf好用,因为sprintf还要记住种种转换符号,烦都烦死了,这个利用流方便转化比较方便. 直接贴代码: #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<sstream> using namespace std

HDU 4329 MAP(stringstream的用法)

这个题目有点绕,但是按着他的意思写不难模拟出来.本来是一场学弟们的训练赛,我这个学长在赛场上却WA了四次都没过,三条黑线就一直在我的脑袋上挂着... 赛后开始找原因,后来发现题目看错了,1/R中的R是指原先URL的个数. 改过来发现还是过不了,想到了自己的输入处理可能是有问题的,既然自己模拟容易出错,那就使用了stringstream,自动提取单词,成功AC. 意外的发现stringstream的功能十分强大,但是因为速度比较慢,用处比较少,所以也不怎么用,这个哥们写的不错,感兴趣可以去看看哦.

C++中stringstream ostringstream istringstream使用方式

C++引入了ostringstream.istringstream.stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件. istringstream类用于执行C++风格的串流的输入操作. ostringstream类用于执行C风格的串流的输出操作. strstream类同时可以支持C风格的串流的输入输出操作. istringstream类是从istream和stringstreambase派生而来,ostringstream是从ostream和 strings

stringstream操纵string小总结

1 split字符串 之前在用C#写代码的时候,用过split函数,可以把一个字符串根据某个分隔符分成若干个字符串数组.在用C++操纵字符串的时候,我一直使用很笨的遍历的方法.为此,我问候过很多次C++标准委员会.直到某一天,我做了一个处理绝对路径的题目. 首先,我要把‘/’作为分隔符,把输入字符串split一下.下面是我的代码: string inputString("/home/fun/./../code/"); stringstream ss(inputString); stri

int转字符串 stringstream

1. 设定一个任意数字串,数出这个数中的偶数个数,奇数个数,及这个数中所包含的所有位数的总数,将答案按 “偶-奇-总” 的位序,排出得到新数.重复进行,最后会得到 123. 1 #include<iostream> 2 #include<sstream> 3 using namespace std; 4 int main() 5 { 6 string s[1000]; 7 cin>>s[0]; 8 int i = 0; 9 int odd = 0,even = 0; 1

Leetcode - 557. Reverse Words in a String III (C++) stringstream

1. 题目:https://leetcode.com/problems/reverse-words-in-a-string-iii/discuss/ 反转字符串中的所有单词. 2. 思路: 这题主要是要注意空格的影响.比方说,string首尾和单词之间可能有一或多个空格.看到有人逐个对空格判断,但是我觉得逐个判断其实稍微容易出错(当然如果非常熟悉的话就完全无所谓啦),我的一个简单想法是用stringstream. PS:不熟悉stringstream的朋友可以看看链接的文档. 3. 代码 cla

初识 istringstream、ostringstream、stringstream 运用

今天编程练习时遇到了istringstream的用法,感觉很实用.后面附题目! C++的输入输出分为三种: (1)基于控制台的I/O (2)基于文件的I/O (3)基于字符串的I/O 1.头文件  #include <sstream> 2.作用 istringstream类用于执行C++风格的字符串流的输入操作. ostringstream类用于执行C++风格的字符串流的输出操作. strstream类同时可以支持C++风格的串流的输入输出操作. 3.具体分析 istringstream类 描

转:stringstream的用法

[本文来自]http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/07/10/27823.html使用stringstream对象简化类型转换C++标准库中的<sstream>提供了比ANSI C的<stdio.h>更高级的一些功能,即单纯性.类型安全和可扩展性.在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换. 为什么要学习 如果你已习惯了&l

C++ int转string(stringstream可转更多类型)

一.使用atoi 说明: itoa(   int   value,   char   *string,   int   radix   );      第一个参数:你要转化的int;      第二个参数:转化后的char*;      第三个参数:你要转化的进制; 举例: 1 //------------------------------------- 2 //功能:C++ int 转 string (使用atoi) 3 //环境:VS2005 4 //-------------------

stringstream的用法-类型之间的转换

本文来自: http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/07/10/27823.html 使用stringstream对象简化类型转换C++标准库中的<sstream>提供了比ANSI C的<stdio.h>更高级的一些功能,即单纯性.类型安全和可扩展性.在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换. 为什么要学习 如果你已习惯了&