zoukankan      html  css  js  c++  java
  • 在Windows程序中启用console输出-2016.01.04

    在某些时候,我们可能需要在Win32窗口应用程序中打开控制台窗口,打印一些消息,或者作为当前程序的另外一个人机交互界面,或者为了帮助调试程序。为了达到这种效果,需要了解函数AllocConsole和C-Runtime的freopen函数。
    AllocConsole函数会为当前的窗口程序申请一个Console窗口,下面MSDN对AllocConsole的介绍:

    The AllocConsole function allocates a new console for the calling process.

    BOOL AllocConsole(void);

    函数调用成功,返回非零值;调用失败,则返回0。

    在为当前窗口程序申请到console后,我们需要调用C-Runtime的freopen函数将标准输出(stdout)重定位到新申请的console。
    freopen的原型如下:

    FILE *freopen(const char *path, const char *mode, FILE *stream);

    其中"CONOUT$"是指代当前console的特殊字符串。

    示例代码:

    if(AllocConsole())
    {              
        freopen( "CONOUT$", "w+t", stdout ); 
        freopen( "CONOUT$", "w+t", stderr ); 
    }
  • 相关阅读:
    eslint自动格式化
    焕肤功能
    Web Components
    Webpack 中的 sideEffects
    andriod 新建Activity_ Form
    那么唯美
    C# PDF添加水印
    停止触发器
    sp_sys_ERPTrigger_base
    sql语句返回主键SCOPE_IDENTITY()
  • 原文地址:https://www.cnblogs.com/zhouLee/p/5097865.html
Copyright © 2011-2022 走看看