c++中freopen的详细介绍
作者:野牛程序员:2023-02-20 20:21:38信息竞赛阅读 2675
在 C++ 中,freopen
是一个文件操作函数,它可以将一个文件指针与一个指定的文件名关联起来,以便在程序中对该文件进行读写操作。freopen
的函数原型如下:
FILE* freopen(const char* filename, const char* mode, FILE* stream);
其中,filename
参数指定要打开的文件名,mode
参数指定文件的访问模式,stream
参数是要重定向的文件流指针。freopen
函数返回的是一个文件流指针,如果打开文件失败则返回 NULL
。
mode
参数可以是以下任意一种:
"r":只读模式,打开文件进行读取操作。
"w":只写模式,打开文件进行写入操作,如果文件已经存在,则清空文件内容。
"a":追加模式,打开文件进行写入操作,如果文件已经存在,则在文件末尾追加内容。
"r+":读写模式,打开文件进行读写操作。
"w+":读写模式,打开文件进行读写操作,如果文件已经存在,则清空文件内容。
"a+":读写模式,打开文件进行读写操作,如果文件已经存在,则在文件末尾追加内容。
下面是一个使用 freopen
函数重定向标准输入和输出的例子:
#include <cstdio> int main() { FILE* inputFile = freopen("input.txt", "r", stdin); FILE* outputFile = freopen("output.txt", "w", stdout); int num; scanf("%d", &num); printf("The number you entered is %d\\n", num); fclose(inputFile); fclose(outputFile); return 0; }
上面的代码中,使用 freopen
函数将输入流重定向到 input.txt
文件,输出流重定向到 output.txt
文件。然后使用标准输入函数 scanf
从文件中读取一个整数,并使用标准输出函数 printf
输出一条消息到文件中。最后使用 fclose
函数关闭文件流。
freopen
函数通常用于在程序中进行输入输出重定向,例如将标准输入输出重定向到文件中,或者将输入输出重定向到网络套接字上。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:C++中的文件操作方法
- 下一篇:c++中fopen的详细介绍