首页 > 编程语言 >[C++学习笔记-IO控制_1]:IO类

[C++学习笔记-IO控制_1]:IO类

时间:2022-11-21 00:23:07浏览次数:34  
标签:对象 ios 笔记 C++ IO 缓冲区 wchar

目录

C++ IO 类

C++ IO跟 Linux 一样,也是使用缓冲区来提高输入输出的效率,所以在使用的时候也要注意缓冲区这一点。

如上图所示,C++ 中跟输入输出相关的类如下:

  • ios_base类:是一个基类,表示流的一般特性,如是否可读取,是二进制流还是文本流等;
  • ios类:基于ios_base类,其中包含了一个指向streambuf对象的指针成员;
  • streambuf类:为缓冲区提供了内存,并提供了用于填充缓冲区,访问缓冲区内容,刷新缓冲区和管理缓冲区内存的类方法;
  • istream类:从ios类派生而来,提供了输入方法;
  • ostream类:从ios类派生而来,提供了输出方法;
  • iostream类:基于istream和ostream,因此继承了输入方法和输出方法。

C++ 的iostream类库管理了很多细节,例如,包含iostream文件将自动创建 8 个流对象(4 个用于窄字符流, 4 个用于宽字符流):

  • cin对象对应标准输入流,wcin类似,但处理的是wchar_t型;
  • cout对象对应标准输出流,wcout类似,但处理的是wchar_t型;
  • cerr对象对应标准错误流,默认被关联到标准输出,这个流没有被缓冲,wcerr对象类似,但处理的是wchar_t型;
  • clog对象也对应标准错误流,默认被关联到标准输出,但是这个流被缓冲,wclog对象类似,但处理的是wchar_t型。

C++ 的输入输出流是支持重定向的,按照功能分的话,C++ I/O 可以分为三类:

  • 控制台 I/O:与控制台交互;
  • 文件 I/O:操作文件;
  • 内核格式化 I/O:有点像 C++ 版本的sprintf功能。

标签:对象,ios,笔记,C++,IO,缓冲区,wchar
From: https://www.cnblogs.com/sleep-at-11/p/16910113.html

相关文章