2-е редактирование
Некоторые уточняющие ...
Я написал программу на C, которая запрашивает ввод (в этом случае, используя fgets()
). Когда я компилирую его в исполняемый файл C, я замечаю такое поведение:
Если я запускаю исполняемый файл из терминала, например: ~$ ./program_name
очевидно, сеанс терминала продолжается после завершения процесса. Меня приветствует пустая командная строка, как обычно: ~$
Однако, если я запускаю исполняемый файл двойным щелчком по исполняемому файлу C, появляется терминал, и я могу вводить данные, как и просит программа. После ввода данных процесс завершается, "терминал" сообщает [Process completed]
и терминал, по-видимому, непригоден для использования.
Когда я запускаю исполняемый файл C в OSX, который позволяет вводить данные с терминала (например, через fgets()
), после ввода информации появляется сообщение [Process completed]
, и терминал кажется непригодным для использования. Это неудобно для моих целей.
Вопросы: Давайте предположим, что я запускаю его без открытого терминала.Так что я дважды щелкаю по программе.
Есть ли способ остаться в терминале после выполнения C-программы с помощью ввода из командной строки?
- Моя программа запрашивает ввод, так что я могу дать ему ввод, который может
echo
в оболочке ... есть ли способ / команда остаться в терминале? Нерест нового терминала является вариантом, но это гораздо менее желательно.
- Моя программа запрашивает ввод, так что я могу дать ему ввод, который может
Есть ли способ остаться в терминале , изменив мою C-программу?
Дополнительный вопрос: есть ли команда терминала для вызова нового окна терминала?
Все идеи приветствуются ...! У меня есть немного, но пока ничего удовлетворительного.