输入/输出流(I/O)【C++】

输入/输出流(I/O)【C++】

1、I / O流的概念

(1.1)基本概念

        在 C++ 语言中,数据的输入和输出(简写为 I/O )包括对标准输入设备键盘和标准输出设备显示器、对在外存磁盘上的文件和对内存中指定的字符串存储空间进行输入输出这三个方面:

(1)输入设备和标准输出设备的输入输出简称为标准 I/O

(2)对在外存磁盘上文件的输入输出简称为文件 I/O

(3)对内存中指定的字符串存储空间的输入输出简称为串 I/O

        C++ 中把数据之间的传输操作称作流。在 C++ 中,流既可以表示数据从内存传送到某个载体或设备中,即输出流;也可以表示数据从某个载体或设备传送到内存缓冲区变量中,即输入流。在进行 I/O 操作时,首先打开操作,使流和文件发生联系,建立联系后的文件才允许数据流入或流出,输入或输出结束后,使用关闭操作使文件与流断开联系。

字节流 :字节流分为字符流(也称文本流)和二进制流。

字符流:在数据传输时需作转换,效率较低。但可以直接编辑,显示或打印。

二进制流:将字节流的每个字节以二进制方式解释,它在数据传输时不作任何转换,故效率高。但无法人工阅读,可移植性较差。

文件:文件是一般指存储在外部介质上数据的集合。计算机中的程序、数据、文档通常都组织成文件存放在外存储器中。

缓冲:系统在主存中开辟的、用来临时存放输入输出数据的区域,成为输入输出缓冲区(简称缓冲区)。

命名空间:就是在程序的不同的模块中使用相同的名字表示不同的事物(实体)。目的是提供一种机制,使大程序的各个部分中因出现重名而导致冲突的可能性降到最低。

(1.2)C++ 建立自己输入输出系统原因

(1)因为 C++ 的输入输出系统比 C 语言更安全、更可靠;

(2)在 C++ 中需要定义众多的用户自定义类型(如结构体、类等),但是使用 C 语言中的 printf和 scanf 是无法对这些数据进行输入输出操作的。

2、输入/输出流类体系

(2.1)流类库

        C++ 为实现数据的输入和输出定义了一个庞大的流类库,它包括的类主要有 iosistreamostreamiostreamifstreamofstreamfstream等。类 istream 和 ostream 是类 ios 的公有派生类,分别提供输入和输出操作。

C++ I / O 常用流类列表

类名

说明

包含在哪个头文件

抽象流基类

ios

流基类

iostream

输入流类

istream

通用输入流类和其它输入流的基类

iostream

ifstream

输入文件流类

fstream

istrstream

输入字符串流类

sstream

输出流类

ostream

通用输出流类和其它输出流的基类

iostream

ofstream

输出文件流类

fstream

ostrstream

输出字符串流类

sstream

输入输出流类

iostream

通用输入/输出流类和其它输入/输出流的基类

iostream

fstream

输入/输出文件流类

fstream

strstream

输入/输出字符串流类

sstream

流缓冲区类

streambuf

抽象流缓冲区基类

streambuf

filebuf

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周小周OvO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值