在C语言中,我们可以使用函数freopen()将现有的FILE指针重定向到另一个流。
freopen()的原型为
FILE * freopen(const char *文件名,const char *模式,FILE * stream);
例如,将标准输出重定向为一个文本文件,我们可以编写
freopen(“ text_file.txt”,“ w”,stdout);
尽管C ++仍支持此方法,但本文讨论了另一种重定向I / O流的方法。
C ++是一种面向对象的编程语言,它使我们不仅能够定义自己的流,而且还可以重定向标准流。因此,在C ++中,流是一个对象,其行为由类定义。因此,任何表现得像流的东西都是流。
C ++中的Streams对象主要分为三种类型:
(1)istream:此类型的Stream对象只能从流中执行输入操作
(2)ostream:这些对象只能用于输出操作。
(3)iostream:可用于输入和输出操作
所有这些类以及文件流类都从以下类派生:ios和streambuf。因此,文件流和IO流对象的行为类似。
所有流对象还具有类streambuf的关联数据成员。简单地