Я пишу небольшую программу в c++, которая создает.exe, который затем запускается, вызывая его с параметрами в cmd. Я хочу иметь возможность выводить вывод из.exe в cmd, из которого я его запускал. В настоящее время у меня есть этот код, который открывает новое окно cmd для отображения вывода, который близок, но не тот, который я хочу. любая помощь с этим была бы замечательной! Благодарю.
AllocConsole();
DWORD NumberOfBytesWritten = 0;
WriteFile( GetStdHandle(STD_OUTPUT_HANDLE), strLog1, lstrlen(strLog1), &NumberOfBytesWritten, 0);
Обновление. Я также смог написать текстовый файл, используя dir > log.txt
в окне команды при вызове программы, есть ли способ изменить это, чтобы он направил выходы в окно консоли? Благодаря,
Мои психические способности отладки говорят мне, что ваши инструменты сборки настроены для создания вашего приложения в графическом интерфейсе, а не в консольном режиме.
Если вы переконфигурируете сборку так, чтобы она создавала приложение в режиме консоли, вам не нужно будет вызывать AllocConsole
или делать что-либо особенное; вы автоматически будете назначены на консоль родительского процесса.
Этот вопрос уже задан: как вывести на консоль в C++/Windows. Вот ответ, который кажется полезным в вашем случае: qaru.site/questions/212317/...
Пробовали ли вы простые операции, такие как:
std::cout << "Print me" ;
или
std::cerr << "Print me too";
?
(Надеюсь, я правильно понял, что вы хотите печатать на той же консоли, на которой вы запустили приложение)