How is input/output done?
A22: There are two stream types, called Character_IStream and Character_OStream that are used for input and output respectively. All Foundation types, as well as all other types exporting Get_From and Put_To operations, can be input/output by using >> and << operators respectively. However, before any input or output is done, the stream must be opened by using either Open_Internal or Open_External operation (depending on the final destination of the data) and then, after input/output is completed, closed using Close_Internal or Close_External operation respectively. It is sometimes hard to remember whether to use "<<" or ">>”. Solution — remember that the “arrow” is pointing in the direction of the flow of the information. That is, for input, the “arrow” points from the stream object into the object that is being input into, e.g.