diff options
Diffstat (limited to 'examples/uppercase.rs')
-rw-r--r-- | examples/uppercase.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/examples/uppercase.rs b/examples/uppercase.rs new file mode 100644 index 0000000..f9771e0 --- /dev/null +++ b/examples/uppercase.rs @@ -0,0 +1,20 @@ +extern crate bstr; + +use std::error::Error; +use std::io::{self, Write}; + +use bstr::{io::BufReadExt, ByteSlice}; + +fn main() -> Result<(), Box<dyn Error>> { + let stdin = io::stdin(); + let mut stdout = io::BufWriter::new(io::stdout()); + + let mut upper = vec![]; + stdin.lock().for_byte_line_with_terminator(|line| { + upper.clear(); + line.to_uppercase_into(&mut upper); + stdout.write_all(&upper)?; + Ok(true) + })?; + Ok(()) +} |