zoukankan      html  css  js  c++  java
  • 【Rust】管道

    环境

    • Rust 1.56.1
    • VSCode 1.61.2

    概念

    参考:https://doc.rust-lang.org/stable/rust-by-example/std_misc/process/pipe.html

    示例

    main.rs

    use std::{
        io::{Read, Write},
        process::{Command, Stdio},
    };
    
    static PANGRAM: &str = "the quick brown fox jumped over the lazy dog\n";
    
    fn main() {
        // Spawn the `wc` command
        let process = match Command::new("wc")
            .stdin(Stdio::piped())
            .stdout(Stdio::piped())
            .spawn()
        {
            Err(why) => panic!("couldn't spawn wc: {}", why),
            Ok(process) => process,
        };
    
        match process.stdin.unwrap().write_all(PANGRAM.as_bytes()) {
            Err(why) => panic!("couldn't write to wc stdin: {}", why),
            Ok(_) => println!("sent pangram to wc"),
        }
    
        let mut s = String::new();
        match process.stdout.unwrap().read_to_string(&mut s) {
            Err(why) => panic!("couldn't read wc stdout: {}", why),
            Ok(_) => print!("wc responded with:\n{}", s),
        }
    }
    

    总结

    了解了 Rust 中管道的使用方式。

    附录

  • 相关阅读:
    Codeforces.468C.Hack it!(构造)
    BZOJ.3227.[SDOI2008]红黑树tree(树形DP 思路)
    146
    145
    144
    143
    142
    141
    140
    139
  • 原文地址:https://www.cnblogs.com/jiangbo44/p/15744099.html
Copyright © 2011-2022 走看看