stringstream用法
来源:互联网 发布:淘宝差评给多了 编辑:程序博客网 时间:2024/06/06 00:11
C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。
istringstream类用于执行C++风格的串流的输入操作。
ostringstream类用于执行C风格的串流的输出操作。
strstream类同时可以支持C风格的串流的输入输出操作。
istringstream类是从istream和stringstreambase派生而来,ostringstream是从ostream和stringstreambase派生而来, stringstream则是从iostream类和stringstreambase派生而来。
他们的继承关系如下图所示:
istringstream是由一个string对象构造而来,istringstream类从一个string对象读取字符。
istringstream的构造函数原形如下:
istringstream::istringstream(string str);
#i nclude <>
#i nclude <>
std;
()
{
istringstream istr;
istr.str("1 56.7",);
<< istr.str()<<endl;
a;
b;
istr>>a;
<<a<<endl;
istr>>b;
<<b<<endl;
system("pause");
}
上例中,构造字符串流的时候,空格会成为字符串参数的内部分界,例子中对a,b对象的输入"赋值"操作证明了这一点,字符串的空格成为了整型数据与浮点型数据的分解点,利用分界获取的方法我们事实上完成了字符串到整型对象与浮点型对象的拆分转换过程。
str()成员函数的使用可以让istringstream对象返回一个string字符串(例如本例中的输出操作(cout<<istr.str();)。
ostringstream同样是由一个string对象构造而来,ostringstream类向一个string插入字符。
ostringstream的构造函数原形如下:
ostringstream::ostringstream(string str);
示例代码如下:
#i nclude <>
#i nclude <>
#i nclude <>
std;
()
{
ostringstream ostr;
ostr.put('d');
ostr.put('e');
ostr<<"fg";
gstr ostr.str();
<<gstr;
system("pause");
}
在上例代码中,我们通过put()或者左移操作符可以不断向ostr插入单个字符或者是字符串,通过str()函数返回增长过后的完整字符串数据,但值 得注意的一点是,当构造的时候对象内已经存在字符串数据的时候,那么增长操作的时候不会从结尾开始增加,而是修改原有数据,超出的部分增长。
[ basic_stringbuf::str :
Sets or gets the text in a string buffer without changing the write position. ]
对于stringstream了来说,不用我多说,大家也已经知道它是用于C++风格的字符串的输入输出的。
stringstream的构造函数原形如下:
stringstream::stringstream(string str);
示例代码如下:
#i nclude <>
#i nclude <>
#i nclude <>
std;
()
{
stringstream ostr("ccc");
ostr.put('d');
ostr.put('e');
ostr<<"fg";
gstr ostr.str();
<<gstr<<endl;
a;
ostr>>a;
<<a
system("pause");
}
除此而外,stringstream类的对象我们还常用它进行string与各种内置类型数据之间的转换。
示例代码如下:
#i nclude <>
#i nclude <>
#i nclude <>
std;
()
{
stringstream sstr;
a=100;
str;
sstr<<a;
sstr>>str;
<<str<<endl;
sstr.clear();
name "colinguan";
cname[200];
sstr<<name;
sstr>>cname;
<<cname;
system("pause");
}
- stringstream用法
- stringstream用法
- stringstream用法
- stringstream用法
- stringstream用法
- stringstream用法
- stringstream用法
- stringstream的用法
- stringstream的用法
- stringstream的用法
- stringstream的用法
- stringstream用法(转载)
- stringstream的用法
- stringstream用法小记
- stringstream的用法
- stringstream的用法
- stringstream 的用法介绍
- stringstream的用法
- C语言malloc()的一个问题——堆越界的一个错误。
- Java获取系统软件安装列表
- 表单中的输入元素
- android viewpager 滑动分页以及禁止划屏 (模拟新浪)
- 在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg0.8.1版-Android中使用FFmpeg媒体库(一)
- stringstream用法
- 一步一步复习数据结构和算法基础-索引顺序表查找
- java获取系统默认浏览器打开链接
- 数据倾斜总结
- hadoop-mapReduce工作流程和组件简介
- linux groupadd useradd chmod
- Scientific Linux 6.2 国内源更新
- Net cookie 添加/修改/删除
- C#发现之旅第十二讲 基于反射和动态编译的快速ORM框架