#c #operating-system #programming-languages
#c #операционная система #программирование-языки
Вопрос:
Я пытался узнать, как отменить перенаправление, но не смог. Если я введу ./program < input.txt чтобы перенаправить stdin, есть ли способ заставить stdin считываться с клавиатуры в программном коде C после прочтения всех строк input.txt ?
Комментарии:
1. В этом сообщении могут быть полезны некоторые дополнительные сведения, такие как операционная система, язык и т. Д., И рассмотрите возможность использования тегов для улучшения качества вопроса
2. На Windows VC это просто, потому что вы можете использовать
getch()
иcscanf()
для консольного ввода, иcprintf()
иcputs()
для консольного вывода. Что-нибудь еще может быть с обычнымиstdin
иstdout
функциями, которые могут быть перенаправлены. Это особенно полезно, если вывод медленной программы перенаправляется в файл, в то время как сигналы прогресса видны на консоли.3. @WeatherVane: Однако, используя
getch
иcscanf
не перенаправлятьstdin
, как запрашивает вопрос. Например, если программа хочет вызвать код, который считывается сstdin
терминала, и прочитать его с терминала, тот факт, чтоgetch
считывается с консоли, будет недостаточным. Возможно, решение будет включать закрытиеstdin
и явное открытие/dev/tty
в Unix или аналогичную вещь в Windows. (CON:
?)4. Открытие dev/tty означает freopen(«/dev / tty», «r», stdin)?