Вывод из .exe в cmd

0

Я пишу небольшую программу в c++, которая создает.exe, который затем запускается, вызывая его с параметрами в cmd. Я хочу иметь возможность выводить вывод из.exe в cmd, из которого я его запускал. В настоящее время у меня есть этот код, который открывает новое окно cmd для отображения вывода, который близок, но не тот, который я хочу. любая помощь с этим была бы замечательной! Благодарю.

AllocConsole();
DWORD NumberOfBytesWritten = 0;
WriteFile( GetStdHandle(STD_OUTPUT_HANDLE), strLog1, lstrlen(strLog1), &NumberOfBytesWritten, 0);

Обновление. Я также смог написать текстовый файл, используя dir > log.txt в окне команды при вызове программы, есть ли способ изменить это, чтобы он направил выходы в окно консоли? Благодаря,

Теги:
cmd
std
exe

3 ответа

1
Лучший ответ

Мои психические способности отладки говорят мне, что ваши инструменты сборки настроены для создания вашего приложения в графическом интерфейсе, а не в консольном режиме.

Если вы переконфигурируете сборку так, чтобы она создавала приложение в режиме консоли, вам не нужно будет вызывать AllocConsole или делать что-либо особенное; вы автоматически будете назначены на консоль родительского процесса.

  • 0
    Вы не ошиблись, это выигрышное приложение! Я сразу же преобразую это в консольное приложение, так как я не вижу никакой причины, чтобы оно было выигрышным. Похоже, самое простое, что можно сделать :)
0

Этот вопрос уже задан: как вывести на консоль в C++/Windows. Вот ответ, который кажется полезным в вашем случае: qaru.site/questions/212317/...

  • 0
    Я посмотрел на эту ветку перед публикацией, из того, что я прочитал, она требует использования allocconsole, это создает новое окно консоли для размещения сообщений там, где я хочу, чтобы они появлялись в исходном окне, из которого оно запускается
0

Пробовали ли вы простые операции, такие как:

std::cout << "Print me" ;

или

std::cerr << "Print me too";

?

(Надеюсь, я правильно понял, что вы хотите печатать на той же консоли, на которой вы запустили приложение)

  • 0
    Да, я попробовал это, и, к сожалению, это ничего не делает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню