rust识别EOF

参考:https://stackoverflow.com/questions/41210691/how-to-check-for-eof-in-read-line-in-rust-1-12
如果read_line返回的是Ok(0)那么就是EOF了。
跟空行的区别在于空行实际上还有一个换行符,所以是Ok(1)。

        let mut input = String::new();
        loop {
            if 0 == io::stdin().read_line(&mut input).unwrap() {
                return;	// EOF
            }
            if !input.trim().is_empty() {
                break;
            }
        }
posted @ 2024-09-28 14:16  寻找繁星  阅读(4)  评论(0编辑  收藏  举报