【C++ 学习】C++输入输出IO

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/laoxuan2011/article/details/52722975

说明

C++编程I/O要点总结
资料参考 C++输入输出

IO基本概念

IO操作,两类

  • 从设备读取数据
  • 将数据写入设备

这里,设备可以使控制台或者文件等。还有一种是内存IO,比如string类型,从string中读取数据,向string中写入数据。

关键词: 设备

从上面我们可以知道,C++输入输出包含三部分

  • 标准I/O
  • 文件I/O
  • 串I/O

C++*IO的特点*:

  • C++的I/O操作是类型安全(type safe)

    在C++的输入输出中,编译系统对数据类型进行严格的检查,凡是类型不正确的数据都不可能通过编译。而在C语言中,用printfscanf进行输入输出,往往不能保证所输入输出的数据是可靠的安全的。

  • C++的I/O操作是可扩展的

IO中间商,内存缓冲区

在内存中为每一个数据流开辟一个内存缓冲区,用来存放流中的数据。

当用cout和插入运算符“<<”向显示器输出数据时,先将这些数据送到程序中的输出缓冲区保存,直到缓冲区满了或遇到endl,就将缓冲区中的全部数据送到显示器显示出来。
在输入时,从键盘输入的数据先放在键盘的缓冲区中,当按回车键时,键盘缓冲区中的数据输入到程序中的输入缓冲区,形成cin流,然后用提取运算符“ >>”从输入缓冲区中提取数据送给程序中的有关变量。

IO库总览

C++的I/O库中的类称为流类(stream class)

这里写图片描述

cout是流对象不是关键字

contconsole output的缩写,意为在控制台(终端显示器)的输出。

  • cout不是C++预定义的关键字,它是ostream流类的对象
  • “cout<<”输出基本类型的数据时,可以不必考虑数据是什么类型,系统会判断数据的类型,并根据其类型选择调用与之匹配的运算符重载函数。
  • cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插 人一个endl时,不论缓冲区是否已满,都立即输出流中所有数据,然后插入一个换行符, 并刷新流(清空缓冲区)。

猜你喜欢

转载自blog.csdn.net/laoxuan2011/article/details/52722975