我有一个MFC应用程序并从命令提示符启动它的.exe。我想要实现的是我想在同一命令提示符下显示来自此启动的应用程序的任何日志。
我写了这段代码:
AttachConsole(ATTACH_PARENT_PROCESS);
WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), errorMessage, ((string)errorMessage).length(), NULL, NULL);
FreeConsole();
但是这段代码会在下一个提示符下写日志:
C:\用户和GT; application.exe
c:\ Users> log line
这里我希望日志出现在同一个提示符中,如下所示:
c:\ Users> application.exe
日志行
我遇到了这个问题。
答案 0 :(得分:2)
程序运行得很好;您看到的是cmd.exe
已经为您准备的命令提示符,因为您的程序已分离并从控制台中独立运行。只要你不分离,你的程序就会不断占据控制台窗口。
答案 1 :(得分:0)
我建议你通过OutputDebugString函数实现日志记录。它允许您在调试器中轻松查看结果,并且您可以在没有调试器的情况下使用DebugView等工具查看该文本(曾几乎在sysinternals.com上,现在可在Microsoft网站上获得)