Ada Programming/Libraries/Ada.Text IO

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

Contents


[edit] The package Text_IO

Used for simple Input Output (IO) in text format.

[edit] Tips and Tricks for Text_IO

[edit] Read a whole line from the console with Ada 95

The Get_Line () procedure gets a line of text up until the receiving string fills up. If the line is longer than the buffer then you need to read it more than once. The following example from Mathematical calculations shows how this is done:

File: numeric_4.adb (view, plain text, download page, browse all)
with Ada.Text_IO;
with Ada.Strings.Unbounded;
 
procedure Numeric_4 is
  package Str renames Ada.Strings.Unbounded;
  package T_IO renames Ada.Text_IO;

...

  function Get_Line return Str.Unbounded_String is
     BufferSize : constant := 2000;
     Retval     : Str.Unbounded_String := Str.Null_Unbounded_String;
     Item       : String (1 .. BufferSize);
     Last       : Natural;
  begin
     Get_Whole_Line :
        loop
           T_IO.Get_Line (Item => Item, Last => Last);

           Str.Append (Source => Retval, New_Item => Item (1 .. Last));

           exit Get_Whole_Line when Last < Item'Last;
        end loop Get_Whole_Line;
  end Get_Line;

...


Ada 2005 has a function Get_Line which returns a newly created string which contains the whole string.

[edit] Reading a whole line from a file with Ada 95

In principle it is the same as in console reading but you have to check for the end of file as well:

        exit Get_Whole_Line when Last < Item'Last
                     or IO.End_Of_File (File);

[edit] See also

[edit] Wikibook

[edit] Ada 95 Reference Manual

[edit] Ada 2005 Reference Manual

[edit] Ada Quality and Style Guide

Personal tools
In other languages