c - 如何从终端中删除扫描的号码,以便我看不到它?
问题描述
我正在尝试创建一个迷你游戏来和我的朋友一起玩,有人输入一个数字,然后我们有 10 次尝试猜测它。不幸的是,我们扫描了一个号码,它留在终端中,所以每个人都可以阅读和作弊。我还尝试做一些有点愚蠢的事情,它printf("\n\n\n\n\n\n\n\n\n\n\n\n\n...")
与 29 一起使用,但这样代码就会出错并且看起来很糟糕。谁能帮我?
解决方案
您没有指定平台 (OS)。一般有以下几种方法:
- 通过 stty() 抑制回声:参见https://stackoverflow.com/a/67709009/6607497
- 使用 getpass()(已过时)
- 使用终端转义序列(如 ANSI)查询特定行的输入,然后删除该行。有关详细信息,请参阅https://en.wikipedia.org/wiki/ANSI_escape_code。
- 学习使用诅咒。有关详细信息,请参阅http://heather.cs.ucdavis.edu/~matloff/UnixAndC/CLanguage/Curses.pdf
- 如何在 Windows 控制台中禁用回声?
- ANSI C 无回音键盘输入
- https://www.reddit.com/r/C_Programming/comments/64524q/turning_off_echo_in_terminal_using_c/
- https://social.msdn.microsoft.com/Forums/en-US/14220ac4-a557-4cea-b29d-f46222a36ef5/how-to-not-echo-the-input-of-consoleread
- http://www.cplusplus.com/forum/general/3570/
- https://falsinsoft.blogspot.com/2014/05/disable-terminal-echo-in-linux.html
- ...
也许您应该先在其他地方搜索!
推荐阅读
- java - Registering a custom mediatype in HATEOAS does not work
- mysql - 使用包含简单循环的 MySQL 游标出现奇怪的错误
- python - Azure Bing 图像搜索客户端抛出未找到资源
- android - 在 ViewModel 中使用 MutableLiveData 进行两种数据绑定
- react-native - 如何调用屏幕功能单击标签栏按钮。React 导航 v5,setOption。反应原生
- c++ - Objective-C++ 中的智能指针可以完全替代 ARC 吗?
- python - Python selenium 不会自动播放视频
- javascript - 无法让 React onClick 触发
- java - Java 抽象工厂模式
- c# - 创建一条曲线以显示对象在 Unity 中的投影位置