编写自己的DEBUG_PRIN函数

来源:互联网 发布:layout软件下载 编辑:程序博客网 时间:2024/04/30 06:31

  在C++中如果我们想编写自己的DEBUG答应函数,而并非使用普通的printf等等,可以通过Win32函数获取STD Handle来改变输出的格式以及颜色:

void DEBUG_PRINT(WORD color, const wchar_t *fmt, ...)
{
    va_list args;
    WCHAR buf[
10240];

    va_start(args, fmt);
    vswprintf_s(buf, 
10240, fmt, args);
    va_end(args);

    HANDLE consoleHandle 
= ::GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(consoleHandle, color);

    wcout 
<< buf << flush;

    SetConsoleTextAttribute(consoleHandle, 
        FOREGROUND_RED 
| FOREGROUND_GREEN | FOREGROUND_BLUE);
}

其中va_list展示了如何使用个数不定的C函数参数用法:

而color可以有:FOREGROUND_INTENSITY , FOREGROUND_RED ,FOREGROUND_GREEN等等

 

 

原创粉丝点击