freopen 用法 使用不同的文件或模式重新打开流,即重定向
FILE *freopen(char *filename, char *type, FILE *stream);
_ACRTIMP FILE* __cdecl freopen(
_In_z_ char const* _FileName,
_In_z_ char const* _Mode,
_Inout_ FILE* _Stream
);
第二个参数选择模式 一般是 "r" 或 "w", "r" 代表是从文件读入,"w"代表是写入到文件 也可以是rb
使用上面的模式说明符,文件将作为文本文件打开。为了打开一个文件作为二进制文件中,“b”的字符必须被包括在模式串。这个附加的“b”字符可以附加在字符串的末尾(从而产生以下复合模式:“rb”,“wb”,“ab”,“r + b”,“w + b”,“a + b“)或插入字母和混合模式的”+“符号之间(”rb +“,”wb +“,”ab +“)
第三个参数一般是 stdin 代表文件读入, 和第二个参数 "r" 连用。stdout 代表写入到文件,和 第二个参数 "w" 连用
标准流文件具体是指stdin、stdout和stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认。通过调用freopen,就可以修改标准流文件的默认值,实现重定向。
参考:https://www.bbsmax.com/A/gVdn33v1zW/