重定向标准输出到控制台

#ifdef DISPLAYCONSOLE
    // Redirection of standard output to console
    int hCrt;  BOOL rep;  FILE *hf;
    _SYSTEM_INFO lps;
    GetSystemInfo(&lps);
    rep = AllocConsole();
    hCrt = _open_osfhandle((long) GetStdHandle(STD_OUTPUT_HANDLE),_O_TEXT);
    hf = _fdopen( hCrt, "w" );
    *stdout = *hf;
    // stop the buffer on stdout
    //  int i = setvbuf( stdout, NULL, _IONBF, 0 );
    //  filebuf ff(hCrt);
    //  cout = &ff;
    printf("This Debug Window  will disappear in release mode\n");
    #endif //  DISPLAYCONSOLE

还需要在代码中声明

#define DISPLAYCONSOLE

时间: 2024-12-16 15:45:39

重定向标准输出到控制台的相关文章

APUE之dup,dup2函数重定向标准输出实例

目的:重定向标准输出到一个文件之中. 定义这两个函数的头文件是 unistd.h  这个头文件同时定义了下面三个常量: * STDIN_FILENO = 0 标准输入 * STDOUT_FILENO = 1 标准输出 * STDERR_FILENO = 2 标准出错输出 dup和dup2函数 #include <unistd.h> int dup (int filedes); int dup2 ( int filedes,int filedes2); 两函数的返回值:若成功则返回新的文件描述符

nohup后台运行以及重定向标准输出和标准异常

今天在Xshell 终端上运行一个程序A,然后关闭Xshell 终端,然后进入Xshell后用ps -ef | grep 进程名 发现进程A已经挂了.后来上网查找了一些资料,原因shell开启一个进程,当shell终端关闭后,它会向所有由终端开启的进程发起一个hangup信号,所有接些信号的进程退出,如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者 setsid将将父进程设为init进程(进程号为1).也就是让进程在后台运行 用如下命令: nohup

控制台基础概念实例

上一篇文章 控制台基础概念 介绍了控制的基本构成,以及一些操作处理.这一部分以实际代码为主,给出控制台使用的几个例子. 以main函数作为入口函数的程序都是控制台程序,最简单的控制台程序就是Hello World的程序.这里不给出了. GUI程序可以使用以下几种方式使用控制台: 在调用CreateProcess时使用CREATE_NEW_CONSOLE标志.(默认情况下,待启动进程为控制台程序时不推荐使用该参数,因为无法确定用户输入是有哪个控制台处理的) 通过 AttachConsole函数附加

RHEL-用户基础-重定向

主要概念: 1.基于终端的程序往往从一个源读取信息,向一个目的地写入信息: 2.程序读取的源被称为标准输入(简称为stdin),通常与终端键盘连接: 3.程序写入的目的地被称为标准输出(简称为stdout),通常与终端显示器相连: 4.使用bash Shell时,可以用>或>>重定向标准输出,用<重定向标准输入: 许多Linux命令从键盘读取输入,向终端显示输出.一个命令的输出可以用作另一个命令的输入,从而可以同时使用多个简单的命令来执行更复杂的任务. 三种类型的程序: 1.图形程

c/c++标准IO重定向

这个对OJ上做题很有用.OJ基本都是用标准输入输出(USACO除外).但如果你在调试的时候也都是从控制台输入,那就太浪费宝贵的时间了.我们可以重定向标准输入,调试的时候从文件读,提交时从标准输入读. 在C语言中,方法比较简单.使用函数freopen(): freopen("data.in","r",stdin); freopen("data.out","w",stdout); 这样就把标准输入重定向到了data.in文件,标准

004-用户、组、权限管理命令及bash配置文件、管道、重定向、grep

l  1.用户管理命令 1.)创建用户命令 useradd  [OPTIONS] USERNAME -u(UID):指定用户UID -g(GID):指定基本组 -G( group,...):指定附加组 -c"COMMENT":指定注释信息 -d(home_dir):指定家目录/path/to/directory -s:指定SHELL路径(/etc/shells指定了当前系统可用的安全shell) -m –k:强行为用户创建家目录 -M:不创建用户家目录 /etc/login.defs

linux重定向标准输入输出,标准错误

标准输入是文件描述符0.它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出.标准输出是文件描述符1.它是命令的输出,缺省是屏幕,也可以是文件.标准错误是文件描述符2.这是命令错误的输出,缺省是屏幕,同样也可以是文件. 一般程序的错误和状态输出都属于标准错误. 重定向标准输出: ls >ls.out 重定向标准输入: sort < name.txt   // sort命令的输入是采用重定向的方式给出的,不过也可以直接把相应的 重定向标准错误: grep color file 2> r

标准输入、标准输出、标准错误

(1).标准输入为 代码为0(2).标准输出为 代码为1(3).标准错误为 代码为2 重定向标准输出> 将命令输出写入文件或设备. < 从文件而不是从键盘或句柄读入命令输入 >> 将命令输出添加到文件末尾而不删除文件中已有的信息 cat passwd | awk -F: '{print $1}' | sort    >sort.out 重定向标准输入cat >> alvin.log <<EOF> my name is alvin> my n

Linux学习笔记——管道及IO重定向

管道及IO重定向 运算器.控制器:CPU 存储器:RAM 输入/输出设备   I/O 程序:指令和数据 控制器:指令 运算器: 存储器: 地址总线:内存寻址 数据总线:传输数据 控制总线:控制指令 I/O: 程序:指令和数据 INPUT设备: OUTPUT设备: 系统设定:  默认输出设备:标准输出,STDOUT,1   默认输入设备:标准输入,STDIN,0 标准错误输出:STDERR,2 标准输入:键盘 标准错误输出:显示器 I/O重定向: linux:  >:覆盖输出 >>:追加输