Невозможно увидеть стандартный вывод программы Windows в консоли (скомпилирован с Clang в Windows) - PullRequest
0 голосов
/ 01 апреля 2019

Когда я создаю простое консольное приложение с помощью clang, оно отлично работает:

void main() { puts("HELLO"); }

Но когда я создаю приложение Windows с WinMain, я не вижу стандартный вывод.

Должен быть флаг, который это исправляет, как у MinGW -mconsole

Ответы [ 2 ]

2 голосов
/ 01 апреля 2019

Быстрое включение stdout для других приложений с графическим интерфейсом:

if (AllocConsole())
{
    FILE* fi = 0;
    freopen_s(&fi, "CONOUT$", "w", stdout);
}

, а затем std::cout и printf работают.

2 голосов
/ 01 апреля 2019

WinMain - это пользовательская функция ввода в Microsoft для графического приложения Windows (с окнами, меню и т. Д.). По умолчанию у него нет консоли.

Если вам нужна консольная программа, вы должны просто использовать стандартную функцию main.

Если вам нужно графическое приложение (WinMain), которое также имеет консоль, тогда это немного работы. Проверьте Как мне получить консольный вывод в C ++ с помощью программы Windows? о том, как этого добиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...