【问题标题】:how can i print out a messages to console at mfc application如何在 mfc 应用程序中打印消息到控制台
【发布时间】:2013-11-01 00:49:32
【问题描述】:

我试图为 mfc 应用程序打印一些日志到控制台

(因为,我想以 2 种方式执行此应用程序。 通常 gui 方式和 cui 通过 'cmd',我不会执行子控制台)

我通过

在“CXXXApp::InitInstance()”上捕获控制台参数
LPWSTR* argv = CommandLineToArgvW(GetCommandLineW(), &argc);

效果很好,但是当我打印出如下消息时

fwprintf_s(stdout blah blah);
wprintf_s( blah blah);
std::wcout<<blah blah;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), blahblah);

在“cmd”上任何东西都不起作用

我想锁定标准输出和标准错误 但我找不到它


我想构建一个可以在 Windows 和控制台中运行的可执行应用程序。 我做到了但我无法在控制台上打印日志

【问题讨论】:

    标签: mfc console stdout stderr


    【解决方案1】:

    我不明白所问的问题,我想也没有其他人,这就是为什么您没有收到任何回复。例如,“anything doesn't work on 'cmd'”是什么意思。

    无论如何,如果您想要运行一个 GUI 应用程序(在 Windows 子系统中)并想要写入您启动该应用程序的控制台,或者如果您想要构建一个可以在 Windows 和控制台中运行的可执行文件子系统,你不走运 - 它要么是一个,要么是另一个。有多种方法可以解决此限制,但在不知道您想要做什么的情况下,很难判断哪些方法适合您的情况。

    【讨论】:

    • 感谢您的回复,我的意思是,我想构建一个可以在 Windows 和控制台中运行的可执行应用程序。我做到了,但我无法使用上述 4 种方式在控制台上打印日志。我很抱歉我的英语不好
    • 好的,感谢您的澄清,您无法打印到您启动 GUI 的控制台。有一些变通方法,请参阅 blogs.msdn.com/b/oldnewthing/archive/2009/01/01/9259142.aspx 了解初学者(这解释了为什么程序是 GUI 或控制台),但也包含许多链接,以解释如何解决 GUI 程序缺少控制台父级的问题。
    • 非常感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    相关资源
    最近更新 更多