C++标准IO-串流类

串流类就是能够控制字符串类型对象进行输入输出的类,C++不光可以支持C++风格的字符串流的控制,还可以支持C风格的字符串流控制。C中的字符串本质上是字符数组,字符数组内的数据在内存中的位置的排列是连续的,我们通常用char str[size]或者char* str的方式声明创建C风格字符数组,为了能让字符数组提供输入输出操作,C++引入了ostrstream istrstream strstream这三个类。

使用上面的三个类必须包含strstream.h头文件

istrstream类的构造函数:
istrstream::istrstream(const char* str,int size)

参数1表示字符串数组,而参数2表示数组大小,当size为0时,表示istrstream类对象直接连接到由str所指向的内存空间并以\0结尾的字符串.
#include <iostream>
#include <strstream>
using namespace std;
int main(){
    char* name="www.jiaojiaoni.com";
    int arraysize=strlen(name)+1;
    istrstream is(name,arraysize);
    char temp;
    is>>temp;
    cout<<temp<<endl;
}


ostrstream用于执行串流的输出,它的构造函数如下:
ostrstream::ostrstream(char* ptr,int streamsize,int Mode=ios::out)
第一个参数是字符数组,第二个参数是数组的大小,第三个参数是打开方式
#include <iostream>
#include <strstream>
using namespace std;
int main(){
    int arraysize=1;
    char* pbuffer=new char[arraysize];
    ostrstream ostr(pbuffer,arraysize,ios::out);
    ostr<<arraysize<<ends;//使用ostrstream输出到流对象的时候,要用ends结束字符串,否则会有溢出的危险
    cout<<pbuffer;
    delete []pbuffer;
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值