我们如何从 MFC 应用程序向控制台屏幕写入一些语句?

Posted

技术标签:

【中文标题】我们如何从 MFC 应用程序向控制台屏幕写入一些语句?【英文标题】:How do we write some statement to the console screen from an MFC application? 【发布时间】:2015-07-24 14:15:46 【问题描述】:

我有一个mfc 应用程序,我通过命令提示符启动它。我将在其中输入一些指定的语法。 如果我给出了错误的语法,那么到目前为止我正在显示一个消息框。但是我可以将相同的消息写入我正在尝试的同一个控制台而不是显示消息 启动我的应用程序?

谁能告诉我如何从 MFC 应用程序写入控制台。

【问题讨论】:

how do I write to stdout from an MFC program? 的可能重复项 【参考方案1】:

我认为 Console::WriteLine() 和 AttachConsole() 可以解决问题

示例:

#include "windows.h"
#pragma comment(lib, "kernel32.lib")

[STAThread]
int main()

    AttachConsole(-1);  //Use the console of the parent of the current process.

    Console::WriteLine("wrongsyntax");  //This will write to the command prompt

    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false); 
    Application::Run(gcnew Project::MyForm);

【讨论】:

您可能需要检查来自 AttachConsole 的返回值,如果失败则使用 MessageBox,以防该过程不是从控制台启动的。 您提出的解决方案 “一个 MFC 应用程序” 究竟如何,正如问题中所要求的那样?【参考方案2】:

这很有用:

How do I get the application exit code from a Windows command line?

Start /wait program.exe
Echo %errorlevel%

所以,调出提示,运行app,app在InitInstance中设置一个错误号并关闭,然后显示错误号。

【讨论】:

【参考方案3】:

您可以使用cout在控制台上显示数据,例如:

std::cout<< "Hello World"

【讨论】:

以上是关于我们如何从 MFC 应用程序向控制台屏幕写入一些语句?的主要内容,如果未能解决你的问题,请参考以下文章

MFC窗体程序中添加调试控制台

从 MFC 中的编辑控件写入文本 [重复]

python3教程:控制Python浮点数输出位数

mfc c++ 从编辑控件更新文本文件

从 Win32 控制台应用程序驱动 MFC 应用程序

MFC中,如何控制另一个程序?