Piraisudan Ответов: 3

Как распечатать выходное сообщение в командной строке с помощью C++ в приложении win32 (в том же окне command promp)?


У меня есть проект win32, я вызываю свой exe-файл, используя следующую команду в командной строке.
"MyApp.exe /Print"


Если я выполняю вышеописанное в командной строке, я хочу отобразить "Добро пожаловать в MyApp" в том же окне командной строки.

Я могу получить данную командную строку с помощью CWinApp, но я не могу отобразить свое сообщение в командной строке. Как это сделать?

Что я уже пробовал:

Я попробовал использовать "WriteConsole- как и внизу, это не работает.

LPCWSTR lpBuff = L"Welcome to MyApp";
DWORD dwSize = 0;
AttachConsole(ATTACH_PARENT_PROCESS);
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), lpBuff, lstrlen(lpBuff), &dwSize, NULL);


Есть ли другой способ сделать это?

3 Ответов

Рейтинг:
1

_Asif_

Это легко и хороший пример можно найти здесь

Visual C++ Включить Переполнение Стека Консоли[^]

Сделайте небольшой поиск, и вы найдете еще много примеров.


Рейтинг:
1

Richard MacCutchan

Я только что попробовал ваш код, и он отлично работает. Вам необходимо предоставить более подробную информацию о вашем точном коде и среде.


Рейтинг:
1

W∴ Balboos, GHB

Если cout если не получится, выбери экстремальный маршрут. Сделайте запись потока в stderr.

Я не делал этого с тех пор, как начал работать в DOS, но типичное правило заключалось в том, что и stdin, и stdout (и, следовательно, возможно, cin и cout для вас) могут быть перенаправлены, но stderr-нет.



Rick York

На самом деле его можно перенаправить с помощью "2>" (В windows). Хотя, наверное, лучше никому об этом не говорить.