gpt4 book ai didi

c - freopen 用于在定向到文件后将输出重定向回标准输出

转载 作者:太空宇宙 更新时间:2023-11-04 00:53:18 26 4
gpt4 key购买 nike

我正在使用我的共享库将 freopen 用于 GUI 应用程序,这样我就可以将调试消息从 stdout 重定向到一个文件

我一直在使用基于 C++ 引用站点片段的代码:

/* freopen example: redirecting stdout */
#include <stdio.h>

int main ()
{
freopen ("myfile.txt","w",stdout);
printf ("This sentence is redirected to a file.");
fclose (stdout);
return 0;
}

这会将 stdout 重定向到 myfile.txt 并最终关闭 stdout

有没有一种方法可以重定向到一个文件,然后有效地删除重定向,这样 stdout 然后像往常一样打印到屏幕而不是用 fclose 关闭它?

最佳答案

不,不是在纯 C 中。如果您可以假设一个特定的系统(例如 POSIX),则可能有选择。

但坦率地说,freopen 是 IMO 的 hack,只需要与预先编写的代码兼容。如果您正在编写新代码,您应该将 FILE * 传递给相关函数并使用 fprintf 而不是 printf

关于c - freopen 用于在定向到文件后将输出重定向回标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11228263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com