1

在win32程序中通常是没有控制台的黑框的,但是在开发过程中常常需要打印某个值,便于我们调试
使用下面的方法可以很方便的使用控制台输出

申明为控制台分配内存

::AllocConsole();
freopen("CONOUT$", "w+t", stdout);

使用过后需要释放

::FreeConsole();

这样我们就可以在win32程序中像控制台那样输出了:

cout << "hello world!" << endl;

顺便写成类,在使用的地方申明个对象就可以了

class CConsole
{
public:
    CConsole()
    {
        ::AllocConsole();
        freopen("CONOUT$", "w+t", stdout);
    };
    ~CConsole()
    {
        ::FreeConsole();
    };
};

watermelon
179 声望7 粉丝

小技能:C++,Python,Sqlite,WTL,Linux,Nginx,Windows,MFC