我是靠谱客的博主 欣喜奇异果,最近开发中收集的这篇文章主要介绍C++中的I/O库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C++语言不直接处理输入输出,而是通过一族定义在标准库中的类型来处理I/O的
下面简单介绍一下IO库:

  • istream(输入流)类型,提供输入操作
  • ostream(输出流),提出输出操作,跟前面的istream一样都是属于头文件iostream
  • cin 一个istream的对象,从标准输入中读取数据
  • cout 一个ostream的对象,从标准输出中写入数据
  • cerr 一个ostream的对象,通常用于输出程序错误消息,写入到标准错误中
  • >>运算符,用来从一个istream对象中读取输入数据
  • <<运算符,用来向一个ostream对象中写入输出数据
  • getline函数,从一个给定的istream读取一行数据,存入到一个指定的string中。其中只有出现换行符号的时候,输入才会停止。

默认下上面的都是关联到用户的控制台的窗口的。当然还有一些其它的操作来完成输入输出的读取的,例如按照使用对应的文件的方式来进行读取操作。文件的读取和写入也是涉及到IO的操作的。例如使用头文件fstream的方式来进行读取,其中包含有读取文件的类型方式。sstream的方式来从string中读取数据。分别对应有普通流、文件流、string流。

虽然有不同的设备和不同的字符串类型,但是其都不会影响我们要执行的IO操作,例如只需要使用 >>读取数据即可,而不需要关注读取的是哪一类的数据类型。标准库中是通过继承的方式来让我们可以忽略这些不同类型的流数据的差异。继承在类中是一个非常重要的方式。即类型 ifstream和 istringstream都是继承于istream的,因为很多的使用方法是完全相同,子类在基类的基础上进行了一些扩展操作来支持对应的需要!即cin、getline等方法都是可以直接在ifstream和istringstream中使用的。当然cout也是一样的可以直接使用。

IO对象是没有拷贝或者赋值的:即不能按照一般变量一样对应其中的进行赋值或者进行拷贝初始化。

缓冲区的知识:缓冲区的知识有点多,主要是涉及到一些错误输入和一些缓存区的状态保存的问题。这里只是举例其中刷新缓冲区的几个不同的关键字的作用!

cout << "hello!" << endl; //输出hello和一个换行,然后刷新缓冲区
cout << "hello!" << flush; //只是输出hello,刷新缓冲区
cout << "hello!" << ends; //输出hello和一个空字符,然后刷新缓冲区。

未完待续…

最后

以上就是欣喜奇异果为你收集整理的C++中的I/O库的全部内容,希望文章能够帮你解决C++中的I/O库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部