Chapter 31. Performing Streaming I/O
In This Chapter
Using stream I/O — an overview
Opening an object for file input and output
Detecting errors when performing file I/O
Formatting output to a file
Using the stream classes on internal buffers for easy string formatting
I gave you a template to follow when generating new programs in Chapter 2. Since you were just starting the journey to C++, I asked you to take a lot of what was in that template on faith; then throughout subsequent chapters, I explained each of the features of the template. There's just one item remaining: stream input/output (commonly shortened to just I/O).
I must warn you that stream I/O can't be covered completely in a single chapter — entire books are devoted to this one topic. Fortunately, however, you don't need to know too much about stream I/O in order to write the vast majority of programs.
How Stream I/O Works
Stream I/O is based on overloaded versions of
operator<<() (known as the right-shift and left-shift operators, respectively)
Note: I don't cover the
<< (left-shift) and
>> (right-shift) operators in my discussion of arithmetic operators in Chapter 4, as these perform bit operations that are beyond the scope of a beginning programmer.
The prototype declarations for the stream operators are found in the include file
iostream. The code for these functions is part of the Standard C++ Library that your programs link with by default. That's why the standard template starts out with