在win32程序中输出信息到console上

在Win32程序中运行Console来进行监视

AllocConsole();
freopen("CONOUT$", "w", stdout);
printf("hello, world./n");

这里AllocConsole()打开Console,而freopen应该是把标准输出和Console关联吧?"CONOUT$"这个很关键,
freopen可以换成freopen_s,改成这样
AllocConsole();
FILE *stream;
freopen_s(&stream, "CONOUT$", "w", stdout);   

今天逛blog的收获,觉得这个小技巧对调试程序很有帮助,虽然具体实现原理不太懂,暂且先在这里做个备份,以后再看。

msdn上的相关资料
http://msdn2.microsoft.com/zh-cn/library/wk2h68td(VS.80).aspx
http://msdn2.microsoft.com/zh-cn/library/88k7d7a7(VS.80).aspx 

 

在C#.net中打开Console就更方便了,只需要用AllocConsole打开Console窗口,然后就可以像在控制台应用程序里那么用了,在WinForm和Web里都可以这么用,方便调试查看。

[System.Security.SuppressUnmanagedCodeSecurity]
[DllImport("kernel32", CharSet = CharSet.Auto)]
static extern bool AllocConsole();
           

AllocConsole();
Console.WriteLine("hello world./n");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值