字符串流stringstream(头文件sstream)

今天看到一样很有趣的东西,可以用于各种类型的转换。其实一个文本可以看作一个长长的字符串,整数啊浮点数的都是字符串,于是在字符串流里面就可以很方便地玩转各种类型,比如说:

 1 #include<iostream>
 2 #include<sstream>
 3 using namespace std;
 4
 5 int main()
 6 {
 7     double a,b;
 8     istringstream is("12.3445 2.3");
 9     is>>a>>b;
10     cout<<"a = "<<a<<endl;
11     cout<<"b = "<<b<<endl;
12     return 0;
13 }

这样就是把字符串转换成了浮点数。

istringstream is("12.345 2.3"); 会通过字符串流is将12.345和2.3放到字符串缓冲区里面,

is>>a>>b; 则会将字符串缓冲区里面的12.345复制到a,然后将2.3复制到b,所以最后输出:

时间: 2024-10-06 21:08:47

字符串流stringstream(头文件sstream)的相关文章

C/C++常用头文件及函数汇总

C/C++头文件一览 C #include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <iso646.h>        //对应各种运算符的宏#include <limits.h> //定义各种数据类型最值的常量#include <locale.h> //定

字符串流sstream-part1

C++中的输入输出分为三种:基于控制台的I/O,即istream.ostream.iostream:基于文件的I/O,即ifstream.ofstream.fstream:基于字符串的I/O,即istringstream.ostringstream.stringstream.    C++引入了ostringstream.istringstream.stringstream这三个类,要使用它们创建对象就必须包含头文件sstream.其中ostringstream继承自ostream.istrin

c++标准头文件

C++标准库的所有头文件都没有扩展名.C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能. <cname>形式的标准头文件[ <complex>例外]其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能.在 <cname>形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明.在C++中还可以使用name.h形式的标准C库头文件名.C++标准库的内容分为10类:C1.语言支持 C2.输入/输出

istringstream字符串流,实现类似字符串截取的功能,字符串流中的put,str()将流转换成为字符串string

 1. istringstream字符串流 #include <iostream> #include <sstream> #include <string> using namespace std; struct MyStruct { string str1, str2, str3; double db; int num; char ch; }; void main() { string  mystring("china  google microsoft

sstream头文件-getline 函数 和 stringstream函数 和string的常见用法

#include <iostream> #include <string> #include <sstream> using namespace std; int main() { string line; while(getline(cin,line) { int sum = 0, x; stringstream ss(line); while(ss>>x) { sum += x; } cout << sum << endl; }

C++ 标准头文件与C头文件区别与联系以及C风格字符串

1.cstdlib是C++里面的一个常用头文件, 等价于C中的<stdlib.h>. 2.一般一个带".h" 扩展名的库文件,比如iostream.h.这是延续C语言的,为了兼容C.在新标准的库中都有一个 不带".h"扩展名的相对应,区别除了后者好多改进之处,还有一点就是后者的东西都放进了"std"名字空间中. 但是 string.h有点特别,问题在于C++要兼容C的标准库,C的标准库里也有一个名字叫做"string.h&q

Java文件与io——字节数组流数据流字符串流

字节数组流 ByteArrayInputStream:包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪read方法要提供的下一个字节.关闭ByteArrayInputStream无效.此类中的方法在关闭此流后仍可被调用,而不会产生任何IOException. ByteArrayOutputStream:此类中实现了一个输出流.其中的数据被写入一个byte数组.缓冲区会随着数据的不断写入而自动增长.可使用toByteArray()和toString()获取数据.关闭ByteArra

在loadrunner中用头文件的形式对字符串进行MD5加密操作

1.首先要有md5.h的头文件 2.然后在global.h中加入#include "md5.h" 3.在action中调用md5.h中的Change_to_Md5(const char* s)的方法,对字符串进行加密. 其中md5.h的文件内容如下:#ifndef MD5_H#define MD5_H #ifdef __alphatypedef unsigned int uint32;#elsetypedef unsigned long uint32;#endifstruct MD5C

第八篇:使用字符串流对象进行格式转换

前言 字符串流对象有个很实用的功能就是格式转换.比如可以将整数类型的123转换成字符串格式的123,或者反过来.那么具体又是如何实现的?且看下文. 实现思路 对于整数转换成字符串格式,可设s是一个空的字符串流对象,” 整型变量 “存放目标整数.则当执行" s << 整型变量 "后,该整数将转成字符串格式并存进流中.随后代码中使用" s.str() "即可获取到该整数的字符串格式.对于字符串转换成整数格式,亦可设s是一个空的字符串流对象,” 整型变量 “存