小智 47
你可以:
fclose(stdout);
fclose(stderr);
Run Code Online (Sandbox Code Playgroud)
对于任何想知道你为什么要这样做的人来说,这对于Unix上的守护进程/服务进程来说是一个相当普遍的任务.
但是,您应该知道关闭文件描述符可能会产生意想不到的后果:
fopen
该文件描述符(至少在Linux上)将替换fd 1,即stdout.随后使用此代码的任何代码都将写入此文件,这可能与您的意图不同.FILE*
指针的评论.特别:
快速的单线解决方案freopen()
就是说/dev/null
,/dev/console
在Linux/OSX或nul
Windows下.或者,您可以根据需要使用特定于平台的实现重新打开文件描述符/句柄.
你有什么尝试?不起作用fclose
?
归档时间: |
|
查看次数: |
28326 次 |
最近记录: |