我有办法在lua中提问密码但是用星号隐藏了吗? 我在问一个控制台应用程序 对于Unix:使用os.execute(“stty -echo raw”)关闭回显并进入原始模式(逐个字符输入)和os.execute(“stty echo cooked”
我在问一个控制台应用程序
对于Unix:使用os.execute(“stty -echo raw”)关闭回显并进入原始模式(逐个字符输入)和os.execute(“stty echo cooked”)将其打开并退出原始模式当你完成.在原始模式下,您可以使用io.stdin获取输入的每个字符:read(1)并随时回显您的星号(使用io.flush确保字符立即显示).您需要自己处理删除和行尾.对于Windows,情况有点棘手.查看What would be the Windows batch equivalent for HTML’s input type=“password”?的一些方法,其中最好的方法似乎是VB脚本.
后记
感谢lhf指出你需要原始模式除-echo输入和每个输出星号后刷新以获得所需的结果:除非你有两个,否则直到线结束时才会回显星号.