Я работаю в приложении MFC, которое работает в режиме графического интерфейса пользователя, и пользователь может запускаться из командной строки. В режиме графического интерфейса я отлично работаю. Но в режиме командной строки я использовал 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();
I «Предположите, что приложение ставит себя в качестве фонового процесса или эквивалентно Microsoft в качестве вилки в какой-то момент. Появляется ли следующее приглашение ввода сразу после запуска приложения? Я видел, что это случается много, когда я запускаю приложение в качестве фонового процесса в Linux. –
да подсказка ввода показывает, как только приложение запускается. –