可以stdout
文件描述符不同1
(STDOUT_FILENO
)假设stdout
不必修改的左值?
例如,可以freopen("/dev/null", "w", stdout)
改变fileno(stdout)
结果吗?
测试程序:
#include <stdio.h>
int main() {
fclose(stdin);
freopen("stdout.txt", "w+", stdout);
fprintf(stderr, "%d\n", fileno(stdout));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这在我的机器上打印0(OS X 10.9.4).
文件描述符通常从最低编号开始重复使用.通过关闭stdin
,文件描述符0被释放,随后freopen
将在打开文件时使用文件描述符0.
归档时间: |
|
查看次数: |
1318 次 |
最近记录: |