Ada Reference Manual (Ada 2022)
A.10.3 Default Input, Output, and Error Files
Static Semantics
The following subprograms provide for the control of the particular default files that are used when a file parameter is omitted from a Get, Put, or other operation of text input-output described below, or when application-dependent error-related text is to be output.
procedure Set_Input(File : in File_Type);
Operates on a file of mode In_File. Sets the current default input file to File.
The exception Status_Error is propagated if the given file is not open. The exception Mode_Error is propagated if the mode of the given file is not In_File.
procedure Set_Output(File : in File_Type);
procedure Set_Error (File : in File_Type);
procedure Set_Error (File : in File_Type);
Each operates on a file of mode Out_File or Append_File. Set_Output sets the current default output file to File. Set_Error sets the current default error file to File. The exception Status_Error is propagated if the given file is not open. The exception Mode_Error is propagated if the mode of the given file is not Out_File or Append_File.
function Standard_Input return File_Type;
function Standard_Input return File_Access;
function Standard_Input return File_Access;
Returns the standard input file (see A.10), or an access value designating the standard input file, respectively.
function Standard_Output return File_Type;
function Standard_Output return File_Access;
function Standard_Output return File_Access;
Returns the standard output file (see A.10) or an access value designating the standard output file, respectively.
function Standard_Error return File_Type;
function Standard_Error return File_Access;
function Standard_Error return File_Access;
Returns the standard error file (see A.10), or an access value designating the standard error file, respectively.
The Form strings implicitly associated with the opening of Standard_Input, Standard_Output, and Standard_Error at the start of program execution are implementation defined.
function Current_Input return File_Type;
function Current_Input return File_Access;
function Current_Input return File_Access;
Returns the current default input file, or an access value designating the current default input file, respectively.
function Current_Output return File_Type;
function Current_Output return File_Access;
function Current_Output return File_Access;
Returns the current default output file, or an access value designating the current default output file, respectively.
function Current_Error return File_Type;
function Current_Error return File_Access;
function Current_Error return File_Access;
Returns the current default error file, or an access value designating the current default error file, respectively.
procedure Flush (File : in File_Type);
procedure Flush;
procedure Flush;
The effect of Flush is the same as the corresponding subprogram in Sequential_IO (see A.8.2). If File is not explicitly specified, Current_Output is used.
Erroneous Execution
The execution of a program is erroneous if it invokes an operation on a current default input, default output, or default error file, and if the corresponding file object is closed or no longer exists.
This paragraph was deleted.
NOTE 1 The standard input, standard output, and standard error files cannot be opened, closed, reset, or deleted, because the parameter File of the corresponding procedures has the mode in out.
NOTE 2 The standard input, standard output, and standard error files are different file objects, but not necessarily different external files.