我在MFC应用程序中工作,该应用程序在GUI模式下运行,用户可以从命令提示符运行。在GUI模式下我工作正常。但是在命令提示符模式下,我使用printf()来显示错误,但命令提示符中没有任何内容。为了解决这个问题,我得到了AttachConsole(ATTACH_PARENT_PROCESS)函数来向控制台显示内容。但输出没有消毒,即如果我在命令行中运行应用程序,输出将看起来像下面
G:\Bin\conTest\Debug>conTest.exe
G:\Bin\conTest\Debug>This is test comment
Press any key to continue . . .
但我希望输出像下面那样
G:\Bin\conTest\Debug>conTest.exe
This is test comment
Press any key to continue . . .
G:\Bin\conTest\Debug>
请帮我解决问题, Bellow是代码片段
DWORD written;
if (AttachConsole(ATTACH_PARENT_PROCESS))
{
out = GetStdHandle (STD_OUTPUT_HANDLE);
}
CString dump = "This is test comment\n";
WriteConsole (out, (LPCTSTR) dump, dump.GetLength(), &written, 0);
system("pause");
FreeConsole();
答案 0 :(得分:0)
请改用此字符串:
CString dump = "\n\nThis is test comment\n";
答案 1 :(得分:0)
也许这可以解决您的问题:
转到项目>项目属性>链接器>系统,在右侧窗格中,将子系统选项设置为控制台(/ SUBSYSTEM:CONSOLE)