Yes, the stream operator doesn't create an object. It merely reads data into an object. Therefore, it is your job to make sure you can construct a proper object before calling the stream operators.
Originally Posted by Adak
io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
Originally Posted by Salem
You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.
Outside of your DOS world, your header file is meaningless.