freopen重定向stdin与stdout后如何恢复正常

简介:
函数定义如下:
FILE * freopen ( const char * filename, const char * mode, FILE * stream );


在windows下控制台的标准输出设备是 CON ,在linux下面则用 /dev/tty 来显示当前终端,标准的应该是 /dev/console ,但个人试验只有tty的情况下

才能成功。设置了set-user-id并将user 改成root后依然无法使用console完成输出,具体原因有待考证。

在windows环境下:

#include <stdio.h>  
#include <stdlib.h>  
  
int main(int argc, char *agrv[])  
{  
    freopen("ExampleIn","r",stdint);   
    freopen("ExampleOut","w",stdout);  
    /*       program        */  
    freopen("CON","r",stdint);  
    freopen("CON","w",stdout);  
    printf("succeed!/n");  
    return 0;  
}  

在linux环境下:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *agrv[])
{
	freopen("ExampleIn","r",stdint); 
	freopen("ExampleOut","w",stdout);
	/*             program              */
	freopen("/dev/tty","r",stdint);
	freopen("/dev/tty","w",stdout);
	printf("succeed!/n");
	return 0;
}

转自:http://blog.csdn.net/lstjsuperman/article/details/6407409
目录
相关文章
|
8月前
|
Linux C语言
Linux 指令|echo|输出重定向|追加重定向|输入重定向|cat
Linux 指令|echo|输出重定向|追加重定向|输入重定向|cat
|
8月前
|
Shell
在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR)
在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR)
676 1
|
Python
Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法
Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法
160 0
解决nohup: 忽略输入并把输出追加到“nohup.out“或者nohup: 忽略输入重定向错误到标准输出端
解决nohup: 忽略输入并把输出追加到“nohup.out“或者nohup: 忽略输入重定向错误到标准输出端
|
Unix 编译器 程序员
由stdout引发的思考
由stdout引发的思考
91 0
|
Java Linux Shell
系统文件IO/文件描述符/重定向/FILE/缓冲区的理解
本文较详细地分析了系统文件IO、文件描述符、重定向、FILE和缓冲区的问题,是系统学习操作系统文件IO的学习成果之一。
系统文件IO/文件描述符/重定向/FILE/缓冲区的理解
|
Linux 存储
Linux 调用系统命令并截获标准输出(stdout)和错误输出(stderr)
<pre><b>char</b> ret[1024]; <b>char</b> *<b>DoSysCmd</b>(<b>char</b> * cmdline){ <b>FILE</b> *fp; <b>char</b> line[32]; <b>char</b> cmdtmp[256]; <b>memset</b>(cmdtmp,0x00,256);
1782 0
|
Linux
使用LINUX dup2 复制文件描述符到标准输出STDOUT_FILENO
  7    8 #include   9 #include  10 #include  11 #include  12 #include  13 #include  14   15   16   17 int main(int argc...
1173 0
|
Shell
2>&1 &:后台运行将日志中的标准错误2重定向到标准输出1中
2>&1 &:后台运行将日志中的标准错误2重定向到标准输出1中
293 0
|
Shell
2&gt;&1 &:后台运行将日志中的标准错误2重定向到标准输出1中
2&gt;&1 &:后台运行将日志中的标准错误2重定向到标准输出1中
169 0

热门文章

最新文章