linux – 我可以用非规范的方式从stdin读取吗?
发布时间:2020-12-14 01:43:54 所属栏目:Linux 来源:网络整理
导读:有没有办法可以在 Linux下的 non-canonical mode中读取stdin?非规范输入意味着对stdin上的read()的调用应在用户输入后立即返回,这不是默认行为,因为可以通过尝试看到: // Create a bufferlet mut buffer :[u8; 1] = [0];// Loops over the input from stdi
有没有办法可以在
Linux下的
non-canonical mode中读取stdin?非规范输入意味着对stdin上的read()的调用应在用户输入后立即返回,这不是默认行为,因为可以通过尝试看到:
// Create a buffer let mut buffer :[u8; 1] = [0]; // Loops over the input from stdin,one character a time while io::stdin().read(&mut buffer).unwrap() > 0 { println!("{:?}",buffer); } 此代码等待用户按返回以打印缓冲区的内容.所需的行为是在用户输入时打印.在 解决方法
不,不是没有外部板条箱或不安全的FFI代码.您可能希望使用
termios功能.具体来说,请参阅ICANON和tcsetattr.箱子
nix具有这些功能的绑定.有关如何在Rust中使用它们的示例,请参见
here.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |