gpt4 book ai didi

C修改printf()输出到文件

转载 作者:IT王子 更新时间:2023-10-29 00:46:17 25 4
gpt4 key购买 nike

有没有办法修改 printf 以便将字符串输出到文件而不是控制台?

我尝试在 Internet 上查找一些内容,发现可能与此相关的调用如 dupdup2fflush

编辑:

可能我没说清楚..问题是这是一道C试题..题目如下:

解释通常将字符串输出到屏幕(使用 printf())的程序如何可以将字符串输出到文件,无需更改上述代码中的任何代码程序。

最佳答案

如果你没有自由修改打印的源代码,你可以使用freopenstdout 上重定向到一个文件:

stdout = freopen("my_log.txt", "w", stdout);

然而,这近乎于黑客攻击,因为命令行重定向将按预期停止工作。如果您确实有权访问执行打印的代码,则首选使用 fprintf

您也可以暂时切换您的stdout 以进行函数调用,然后再放回去:

FILE *saved = stdout;
stdout = fopen("log.txt", "a");
call_function_that_prints_to_stdout();
fclose(stdout);
stdout = saved;

关于C修改printf()输出到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10947335/

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