转自:http://blog.csdn.net/acaiacc/article/details/5543669 利用AllocConsole()
记住,及时在一个GUI程序中,你也可以有一个控制台 好处: 1 不像窗口控件,依赖消息和重绘 2 程序飞掉了,控制台还在 3 方便的重定向到文本,可以用比较工具比较
在某些时候,我们可能需要在Win32窗口应用程序中打开控制台窗口,打印一些消息,或者作为当前程序的另外一个人机交互界面,或者为了帮助调试程序。为了达到这种效果,需要了解函数AllocConsole和C-Runtime的freopen函数。 AllocConsole
The AllocConsole function allocates a new console for the calling process.
BOOL AllocConsole(void);
函数调用成功,返回非零值,调用不成功则返回0.
FILE *freopen(
const char *path, const char *mode, FILE *stream ); 我们调用的时候是这么着传入参数的:
freopen("CONOUT$","w",stdout);
其中"CONOUT$"是指代当前console的特殊字符串,"w"表明以written模式打开这个console,stdout指代的是系统的标准输出设备。
if(AllocConsole())
{ freopen("CONOUT$","w",stdout); printf("hello, world!"); } |
|