有没有办法可以在
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); }
此代码等待用户按返回以打印缓冲区的内容.所需的行为是在用户输入时打印.在Stdin
的文档(上面的代码中由stdin()调用返回的结构)中,没有引用如何更改此默认行为.