每个进程都拥有stdin,stdout和stderr这设备的文件描述符。它们的类型是FILE*,定义看起来像这样:
extern FILE* stdin;
如果你在程序中关闭了stdin, 需要重新打开的话,请看下面的代码:
int backfd = dup(STDIN_FILENO);
fclose(stdin);
dup2(stdin, FILENO);
stdin = fopen("/dev/stdout", "r+");
每个进程都拥有stdin,stdout和stderr这设备的文件描述符。它们的类型是FILE*,定义看起来像这样:
extern FILE* stdin;
如果你在程序中关闭了stdin, 需要重新打开的话,请看下面的代码:
int backfd = dup(STDIN_FILENO);
fclose(stdin);
dup2(stdin, FILENO);
stdin = fopen("/dev/stdout", "r+");