C++总是能让我想起什么(4)——C++输入输出流

C++输入输出流

流(文本流,二进制流)

文本流——一串ASCII码

二进制流——按二进制格式存放的数据(内存映像)

列:整数123

存于文本文件中占3个字节,‘1’,‘2’,‘3’

存于二进制文件中占4个字节,1111011


数据文件包括,文本文件和二进制文件

此外逻辑设备也对应于一个文件

如磁盘文件,设备文件等

图示

输入输出流体系

ios:输入输出流基类

streambuf:抽象缓冲区基类

istream:通用输入流基类

ostream:通用输出流基类

istream_withassign:cin所属输入流类

ostream_withassign:cout,cerr,clog所属的输出流类

重载运算符<<和>>

编译器将cin>>x>>y解释成

(cin.operayor>>(x)).operator>>(y)

类似的可解释<<

cin:标准输入流(输入设备是键盘)

cout:标准输出流(输出设备是显示器)

cerr:标准错误输出流,没有缓冲,直接输出

clog:输出日志信息,有缓冲,缓冲满后被输出

#include<iostream>
using namespace std
int main()
{
        double x;
        clog<<"please cin a data";
        cin>>x;
        cout<<x<<endl;
        return 0;
}
输出结果为

5<回车>

5

please cin a data

原因:clog是缓冲输出,当缓冲区满或者程序结束时才真正“输出”到屏幕上

默认输入格式:

cin是缓冲流,当输入一行会车时,操作系统将输入内容放入输入缓冲区,然后cin从输入缓冲区提取数据

输入数据的类型必须与提取数据的变量类型一致

输入数据时,在缺省情况下,数据间的分隔符为<space>(空格),<tap>(制表),<enter>(回车),这三个键称空白字符

应当注意,最后输入的总是回车

回车的两个作用:1,一行结束,可以提取2,数据分隔符

默认输出格式

输出整型:十进制,域宽为0,右对齐,空格填充

输出浮点型:精度6位,浮点输出,域宽为0,右对齐,空格填充

若整数部分超过7位,或有效数字在小数点4位之后,自动转为科学计数法格式输出

输出字符或字符串:域宽为0,右对齐,空格填充

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值