C++ I/O

CPP I/O


本文已经搬至https://bobliu0518-blog.netlify.com/post/2017-07-01-cpp-io

今天我想分享一下 C++ 11 的输入/输出(简称I/O)。

目录

简介

管理流和缓冲区的工作有点复杂,但iostream(以前为iostream.h)文件中包含一些专门设计用来实现、管理流和缓冲区的类。streambuf类为缓冲区提供了内存,并提供了用于填充缓冲区、访问缓冲区内容、刷新缓冲区和管理缓冲区内存的类方法;ios_base类(ios是io-stream,和Apple的操作系统iOS没关系)表示了流的一般特征,如是否可读取、是二进制流还是文本、管理流等;;ios类基于ios_base,其中包括了一个指向streambuf对象的指针成员;ostream类是从ios类派生而来的,提供了输出方法;istream类也是从ios类派生而来的,提供了输入方法;iostream类是基于istreamostream类的,因此继承了输入方法和输出方法。
C++的iostream类库管理了很多细节。例如,在程序中包含iostream文将会自动创建8个流对象(4个用于窄字符流,4个用于宽字符流)(cin,cout,cerr,clog)。
C++在头文件fstream(以前为fstream.h)中定义了多个新类,其中包括用于文件输入的ifstream和用于文件输出的ofstream。C++还定义了一个fstream类,用于同步文件I/O。这些类都是从头文件iostream中的类派生而来的,因此这些新类的对象可以使用前面介绍过的方法。
(引用自C++ Primer Plus 第六版 中文版 第十七章)

使用iostream

  • cin:标准输入流
  • cout:标准输出流
  • cerr:标准错误流(不缓冲)
  • clog:标准错误流(缓冲)
    在他们前面加上”w”(即wcin等)即可处理wchar_t类型。

代码示例:

//io1.cpp
#include<iostream>
int main()
{
    using namespace std;
    int a,b;
    char str[20];
    cerr<<"Input 2 integers:";
    cin>>a>>b;
    if(a=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值