Linux下如何重新打开标准输入输出(stdin,stdout,stderr)

来源:互联网 发布:thinkphp实例源码 编辑:程序博客网 时间:2024/04/29 22:47

每个进程都拥有stdin,stdout和stderr这设备的文件描述符。它们的类型是FILE*,定义看起来像这样:

extern FILE* stdin;

如果你在程序中关闭了stdin,  需要重新打开的话,请看下面的代码:

 int backfd = dup(STDIN_FILENO);

fclose(stdin);

dup2(stdin, FILENO);

stdin = fopen("/dev/stdout", "r+");

原创粉丝点击