freopen() - C语言库函数

C库函数 FILE *freopen(const char *filename, const char *mode, FILE *stream)关联一个新的文件名与给定的打开流,同时关闭旧文件流。

声明

以下是freopen()函数的声明。

FILE *freopen(const char *filename, const char *mode, FILE *stream)

参数

  • filename -- 这是C字符串,其中包含要打开的文件名。

  • mode -- 这是C字符串,其中包含文件访问模式。它包括:

mode 描述
"r" 打开一个文件进行读取。该文件必须存在。
"w" 创建一个空的书面文件。如果已经存在具有相同名称的文件,其内容被删除的文件被认为是一个新的空文件。
"a" 附加到文件中。写入操作的数据追加在文件末尾的。该文件被创建,如果它不存在。
"r+" 打开更新文件阅读和写作。该文件必须存在。
"w+" 创建一个空文件,读取和写入。
"a+" 打开一个文件​​读取和追加。
  • stream -- 这是一个文件对象的指针标识重新打开流。

返回值

如果该文件被重新打开成功,则函数返回一个指针,指向一个对象识别流,否则返回空指针。

例子

下面的例子演示了如何使用freopen()函数。

This text is redirected to stdout

freopen()调用后,它关联STDOUT文件file.txt,所以我们在STDOUT 写进入file.txt。因此,文件file.txt将有以下内容。

This text is redirected to file.txt