Я работаю в приложении MFC, которое работает как в графическом режиме, так и пользователь может работать из командной строки. В режиме 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>
Пожалуйста, помогите мне решить проблему,
Ниже приведен фрагмент кода
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();