有时在进行MFC开发过程中,需要使用cmd窗口来进行DEBUG调试打印一些东西,此时可以使用以下代码进行初始化完成之后,就可以直接使用系统printf函数进行打印了。
AllocConsole();
HANDLE kztdd = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台标准输出句柄
long ff = (long)_open_osfhandle((intptr_t)kztdd, _O_TEXT); //将控制台输出句柄转换成文件描述符
FILE *fp = _fdopen(ff, "w"); //打开文件描述符
(*stdout) = (*fp); //文件描述符重定向
printf("Debug start\r\n");