最新消息:蔓草札记的微信公众号开通了,赶紧在微信通讯录公众号中搜索“蔓草札记”关注下吧 :)

MFC 程序如何使用 printf 输出调试信息

网络技巧 xhhjin 1940浏览 1评论

设想一下,我们在 win32 控制台下写了个在命令行运行的程序库,图方便直接用 printf 输出 log 来进行调试,但后来集成库时使用了 MFC 之类的窗体程序,于是原先用 printf 输出的 log 信息都看不到了,但是我们又需要查看这些 log 信息,甚至最好能输出到文件来方便进行分析,如何处理?

首先,我们考虑将 log 信息输出到控制台上,按照以下步骤操作。

1,添加头文件

2,把下面的函数加到将要调用的文件中

3,在初始化函数中添加创建控制台的调用

调用此函数后会弹出一个 Console,printf 的信息就会出现在这上面,我们就可以查看 log 信息了。但是,如果 log 信息输出过多,Console 上面就不能显示全部信息,这时我们便希望通过 printf 把 log 输出到一个固定的文件中,而这就要用到了输出的重定向。

printf-redirect

我们都知道,在 windows 终端输入”dir”会列出当前目录的文件列表,输入”dir > 1.txt”则可把当前目录的文件列表导出到”1.txt”中,linux 终端也有类似命令”ls > 1.txt”。这里用到的就是输出的重定向,我们可以用同样的思路通过 freopen 来实现 log 信息的文件输出。

先包含头文件,然后一句话就可以实现输出的重定向

返回正常的 stdout 输出

也可以这样使用

其实,stdin 也有类似的重定向操作:

上面的方法都是在代码已经写完的情况下,通过对 printf 进行的调整来避免大量重复的劳动。当然,为了避免这一切,最好的方法是在最初写代码的时候就定义一个 log 输出宏,后续都通过这个宏来调整 log 输出。


欢迎转载,转载请注明出处:蔓草札记 » MFC 程序如何使用 printf 输出调试信息

♥ 喜欢 2 赞赏
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 看看!
    65695981年前 (2016-01-03)回复