当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust stdin用法及代码示例


本文简要介绍rust语言中 Function std::io::stdin 的用法。

用法

pub fn stdin() -> Stdin

为当前进程的标准输入构造一个新句柄。

返回的每个句柄都是对共享全局缓冲区的引用,该缓冲区的访问通过互斥锁同步。如果您需要对锁定进行更明确的控制,请参阅 Stdin::lock 方法。

注意:Windows 可移植性考虑

在控制台中操作时,此流的 Windows 实现不支持非 UTF-8 字节序列。尝试读取无效的 UTF-8 字节将返回错误。

例子

使用隐式同步:

use std::io;

fn main() -> io::Result<()> {
    let mut buffer = String::new();
    io::stdin().read_line(&mut buffer)?;
    Ok(())
}

使用显式同步:

use std::io::{self, BufRead};

fn main() -> io::Result<()> {
    let mut buffer = String::new();
    let stdin = io::stdin();
    let mut handle = stdin.lock();

    handle.read_line(&mut buffer)?;
    Ok(())
}

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Function std::io::stdin。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。