stdin/
stdin.rs

1//! Example for reading from `stdin`
2
3use std::io::{Read, Write};
4
5use kex::*;
6
7/// Usage:
8/// cargo run --example stdin
9/// 
10/// Or:
11/// cat /bin/cat | cargo run --example stdin
12/// 
13fn main() {
14    use std::io::stdout;
15
16    let mut buf = [0u8; 64];
17    let stdin = std::io::stdin();
18    let mut handle = stdin.lock();
19    
20    let mut printer = Printer::default_fmt_with(stdout(), 0);
21
22    while let Ok(size) = handle.read(&mut buf) {
23        if size == 0 {
24            break;
25        }
26        assert!(printer.write_all(&mut buf[..size]).is_ok());
27    }
28
29    printer.finish();
30}