首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将标准输出从Visual Studio重定向到输出窗口

如何将标准输出从Visual Studio重定向到输出窗口
EN

Stack Overflow用户
提问于 2011-03-10 00:18:45
回答 2查看 34.4K关注 0票数 21

是否可以将标准输出从Visual Studio重定向到输出窗口?

我在我的程序中使用OutputDebugString,但我使用一些库,这些库具有带有printf或cout的输出调试消息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-10 04:24:46

简单的标准输出重定向将不起作用,因为没有对应于OutputDebugString的句柄。然而,应该有一种方法:

这可以通过将标准输出重定向到管道,然后创建一个线程来读取管道并使用OutputDebugString打印从中读取的任何内容来完成。

注意:我很久以前就在考虑实现这一点,因为我面临着与您完全相同的问题(一些库使用printf或fprintf(stderr...)。然而,我从未真正做到这一点。我总是结束修改库,因此我没有一个有效的实现,但我认为它在原则上应该是可行的。

票数 4
EN

Stack Overflow用户

发布于 2011-03-10 01:01:31

是。我假设您正在开发一个Win32图形用户界面应用程序。

您的C实现为标准输入、标准输出和标准错误定义了三个句柄。Win32定义了等价的句柄,这些句柄定义了实际的物理输入/输出将出现在何处。C函数,如'printf',使用这些Win32句柄来执行I/O。基本上,您必须为输出创建一个控制台,然后重定向Win32标准输出所指向的位置。然后获取C标准输出的句柄,并将其与Win32标准输出相关联。

This link包含有关如何执行此操作的详细信息:

您需要向应用程序中添加两个新文件(链接包含清单)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5248704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档