Chapter 17. Input and Output
Doolittle: What concrete evidence do you have that you exist?
Bomb #20: Hmmmm... well... I think, therefore I am.
Doolittle: That’s good. That’s very good. But how do you know that anything else exists?
Bomb #20: My sensory apparatus reveals it to me.
Dark Star
Input and output are the limbs that turn the disembodied logic of a program into something that can reach out and interact with the world. Most of the time, that means working with filesystems and network interfaces, but there are more exotic types of I/O, too.
As it often strives to do, Rust’s standard library makes the easy cases easy. Reading a UTF-8 formatted text file (or HTML document, or CSV, or what have you) is as easy as calling std::fs::read_to_string:
letcontents=std::fs::read_to_string("file.txt").expect("Unable to read file");
Convenience functions like this make it easy to write lots of programs, but they’re all built on top of a relatively simple foundation of two I/O traits: Read ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access