如何在c ++/CLI应用程序中显示控制台?

use*_*579 1 .net testing c++-cli output

我正在VS 2012中进行c ++/CLI应用程序分配.出于测试目的,我正在尝试将一些输出打印到控制台(在构建它们时测试方法),但是这个Windows窗体应用程序没有控制台窗口.有没有办法让控制台窗口显示?

或者有没有人建议如何显示方法输出/结果?

谢谢.

编辑 - 我想出了如何使控制台窗口工作.感谢大卫的回应.

Jef*_*eff 6

正如@David指出的那样,Debug :: WriteLine是一种很好的跟踪或发送状态到输出窗口的方法.

System::Diagnostics::Debug::WriteLine(L" -- Object State or Tracing");
Run Code Online (Sandbox Code Playgroud)

但是,如果您仍然需要Windows应用程序的控制台窗口,请考虑以下事项:

// Beginning of Application
#if _DEBUG
    if (AllocConsole())   // <-- http://msdn.microsoft.com/en-us/library/windows/desktop/ms681952(v=vs.85).aspx
        if (!AttachConsole(ATTACH_PARENT_PROCESS))  // -1 == ATTACH_PARENT_PROCESS or Process ID
            System::Windows::MessageBox::Show(L"Unable to attach console window", L"Error", System::Windows::MessageBoxButton::OK, System::Windows::MessageBoxImage::Exclamation);
#endif

// Application End
#if _DEBUG
    FreeConsole();       // <-- http://msdn.microsoft.com/en-us/library/windows/desktop/ms683150(v=vs.85).aspx
#endif
Run Code Online (Sandbox Code Playgroud)

请注意,只有在使用调试配置构建时才会看到这一点.

希望这可以帮助.