У меня есть исполняемый файл, который написан на C++ и я запустить его в cmd.exe на Windows,GetChar() обходной путь в C/C++ для того, чтобы перенаправить выход
Когда я запустить этот исполняемый файл и, глядя на источник код, я вижу, что используется функция getchar()
. Программа просит пользователя «щелкнуть любую клавишу, чтобы продолжить», и я вижу, что getchar()
называется так, что дозатор программы продолжается, пока пользователь не нажмет любую клавишу.
Моя проблема заключается в том, что вывод программы слишком долго, поэтому я хочу, чтобы перенаправить его в файл ... (с перенаправлением характером >
)
Так что, когда я запускаю ехе, как это в cmd.exe:
prg > temp.txt
программа застревает, я предполагаю, что его потому, что он ожидает ввода (я пытался нажав любую клавишу, но она доцент работы.)
Когда я запустить программу без перенаправления его в файл, все работает нормально, поэтому я нажимаю любую клавишу, когда p rompted ...
я бы просто стер все getchar()
вызов, но НЕ МОГУ изменить исходный код, потому что я не имею все ресурсы для того, чтобы вновь собрать его.
Есть ли обходной путь к моей проблеме?
Не уверен, что в Windows, но в Linux вы можете подключить вход к программе. – 4386427
как было указано 4386427, на linux было бы «echo» k "| program> out_file ' Попробуйте что-то подобное в окнах (у меня нет окон atm) –
@Avra Вы уверены, что он называет 'getchar', а не какую-то другую функцию, например [' _getch'] (https://msdn.microsoft. ком/EN-US/библиотека/078sfkak.aspx)? – anatolyg