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}