Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是我的问题。我直接输出到控制台并通过终端获取用户输入。有时,用户正在输入一个东西,然后当控制台输出一些东西时,他们输入的文本会变得混乱。它不会破坏程序,只是很烦人。
我在 npm 目录中查看了 ncurses,但它似乎相当复杂。我想要的只是在不中断用户输入的情况下将内容打印到屏幕上。
任何帮助,我的意思是任何帮助,都非常感谢。
你是如何从终端阅读的?如果您在“原始”模式下执行此操作,您可以获得每个字符(或每几个字符)的输入,那么当您获得一个字符时,设置一个“输出禁止”标志并设置一个超时,当用户已经停止打字了。无论您的输出是什么,都需要检查标志并在设置时推迟。
或者,如果用户逐行输入,您可以在每个字符上设置标志,然后在他们输入换行符时清除它(并简单地刷新输出)。
如果终端处于“熟”模式(您的代码在用户键入换行符之前什么都看不到),除非您咬住 ncurses 子弹,否则您几乎无能为力。