📜  在C++中管理控制台I / O操作

📅  最后修改于: 2021-05-30 11:36:14             🧑  作者: Mango

在熟悉的输入过程输出周期之后,每个程序都将一些数据作为输入并生成处理后的数据作为输出。了解如何提供输入数据并以所需形式显示结果至关重要。 cincout的用法 对于输入和输出操作,运算符>><<已为人所知。在本文中,我们将讨论如何控制输出的打印方式。

C++支持丰富的I / O功能和操作。这些函数使用C++的高级功能,例如类,派生类和虚函数。它还支持C的所有I / O函数集,因此可以在C++程序中使用,但是由于两个原因,应限制使用它们。

  1. C++中的I / O方法支持OOP的概念。
  2. C语言中的I / O方法无法处理用户定义的数据类型,例如类和对象。

它使用流和流类的概念来通过控制台和磁盘文件实现其I / O操作。

C++流

C++中的I / O系统旨在与各种设备一起使用,包括终端,磁盘和磁带驱动器。尽管每个设备都非常不同,但是I / O系统向编程器提供了一个接口,该接口独立于所访问的实际设备。此接口称为

  • 流是字节序列。
  • 将数据提供给程序的源流称为输入流。
  • 从程序接收输出的目标流称为输出流。
  • 输入流中的数据可以来自键盘或任何其他输入设备。
  • 输出流中的数据可以转到屏幕或任何其他输出设备。

C++包含几个预定义的流,这些流在程序开始执行时会自动打开。这些包括cincout 。众所周知, cin代表连接到标准输入设备(通常是键盘)的输入流,而cout代表连接到标准输出设备(通常是屏幕)的输出流。

C++流类

C++ I / O系统包含用于定义各种流以处理控制台文件和磁盘文件的类的层次结构。这些类称为流类。用于输入和输出操作的流类的层次结构在控制台单元中。这些类在头文件iostream中声明。该文件应包含在与控制台单元通信的所有程序中。

C++
#include 
using namespace std;
  
int main()
{
  
    cout << " This is my first"
            " Blog on the gfg";
    return 0;
}


输出:
This is my first Blog on the gfg

iosistream (输入流)和ostream (输出流)的基类,而它们又是iostream (输入/输出流)的基类。 ios类被声明为虚拟基类,因此iostream只能继承其成员的一个副本。

ios类为格式化和未格式化的I / O操作提供基础支持。 istream类提供格式化和未格式化输入的便利,而ostream类(通过继承)提供格式化输出的便利。

iostream类提供了用于处理输入和输出流的工具。三个类向这些类添加了一个分配:

  • istream_withassign
  • ostream_withassign
  • iostream_withassign

控制台操作的流类的表格表示形式

Class name

Content

ios (General input/output stream class)

  • Contains basic facilities that are used by all other input and output classes
  • Also contains a pointer to a buffer object (streambuf object)
  • Declares Constants and functions that are necessary for handling formatted input and output operations

istream (Input stream)

  • It inherits the properties of ios
  • It declares input functions such as get(), getline(), and read()
  • It contains overload extraction operator >>

ostream (Output Stream)

  • It inherits the properties of ios.
  • It declares input functions such as put() and write().
  • It contains an overload extraction operator <<.

iostream (Input/output stream)

  • Inherits the properties of ios stream and ostream through multiple inheritances and thus contains all the input and output functions.

Streambuf

  • It provides an interface to physical devices through buffers.
  • It acts as a base for filebuf class used ios file.
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”