当我在终端程序运行时按下Enter键时,会添加新行。我如何禁用此功能?我不想使用ncurses。我在Ubuntu上。运行终端程序时阻止终端输入
2
A
回答
1
跟进牛米的提示,我发现this以及与此想出了:
static struct termios t;
tcgetattr(STDIN_FILENO, &t);
t.c_lflag &= ~ECHO;
tcsetattr(STDIN_FILENO, TCSANOW, &t);
这似乎阻止所有输入端。
+0
你*可能*也想设置非规范模式或“原始”模式,并自己回应所有正常(非控制)字符。见'man termios'。 –
+0
是的,我已经这样做(我认为) – gartenriese
相关问题
- 1. Linux终端输入/输出C程序
- 2. Android从终端终止应用程序
- 3. Java 2行终端输入
- 4. QProcess终端输入
- 5. 如何从终端输入(linux)运行程序?
- 6. 在C++程序运行期间从终端获取输入
- 7. 如何从终端运行clojure程序
- 8. Prolog的,在终端运行的程序
- 9. 从终端运行Python程序
- 10. 从python运行终端程序
- 11. 在unix终端中运行java程序
- 12. 使用unix终端运行C++程序
- 13. 无法在终端运行Kotlin程序
- 14. 如何从终端运行Java程序?
- 15. 从终端运行java程序
- 16. javafx的终端运行程序
- 17. 在jquery终端输入问候时隐藏终端提示符
- 18. COM端口终端程序
- 19. printf到终端阻止用户在C中的输入?
- 20. 当主终端关闭时程序终止
- 21. 在bash中显示术语时终止终端应用程序
- 22. 从终端MAC终止SSH
- 23. 停止列表运行Ruby终端
- 24. 从终端自动终止java进程
- 25. 下载数据时如何阻止NLTK输出到终端?
- 26. 无法从终端输入
- 27. 从终端读取输入
- 28. iostat和从终端输入
- 29. 不要输入gnuplot终端
- 30. 自动输入终端
切断用户的手? –
我认为在标准C++中是没有办法的。也许你应该使用linux的API – ikh
你需要在终端上禁用本地回显。 –