In C++, input and output (I/O for short) mostly happens through an abstraction known as streams. Streams allow you to perform I/O operations without knowing the details of their target or source. Be it your command-line interface, a string, or a file—streams offer an easy, uniform interface to communicate with any of these.
In this chapter, we first cover the different C++ stream libraries. Next, we discuss the C++17 <filesystem> library, which allows you to inspect and manipulate the files that are present ...