Modula-2 || Compiler & Tools || Library || Search Engine

Ulm's Modula-2 Library:


S - formatted output to strings


(* diagnostic *)
PROCEDURE success() : FmtExitCode;

(* error handling *) PROCEDURE setmode (mode : BITSET); PROCEDURE getmode (VAR mode : BITSET);

(* output *) PROCEDURE printf0 (VAR string : ARRAY OF CHAR; fmt : ARRAY OF CHAR); PROCEDURE printf1 (VAR string : ARRAY OF CHAR; fmt : ARRAY OF CHAR; i1 : ARRAY OF BYTE); PROCEDURE printf2 (VAR string : ARRAY OF CHAR; fmt : ARRAY OF CHAR; i1,i2 : ARRAY OF BYTE); (* ... *) PROCEDURE printf8 (VAR string : ARRAY OF CHAR; fmt : ARRAY OF CHAR; i1, i2, i3, i4, i5, i6, i7 , i8 : ARRAY OF BYTE);


printf0 .. printf8 convert their parameters i1 .. i8, instantiate them into the format string fmt and write the resulting text into string. A null byte is appended if string is large enough. Refer to Printf for a detailed description of formatting capabilities.

done returns TRUE if the last call of printf0 .. printf8 was successful, more detailed information can be obtained by success (FmtExitCode is imported from Printf).

setmode defines a new error handling mode mode which is by default set to Printf.Default. getmode yields the current mode.


Diagnostic is unnecessary unless default error handling strategy has been explicitly modified by prior calls of setmode. See Printf for more details.

Besides for reasons of illegal format strings, printf1 .. printf8 will fail if string is too small (error code StringTooSmall).

Error messages issued by S will contain information about their reason and the affected procedure call:

[fatal] S.printf0(...,"Hallo.");
        Illegal parameter values: string too small.
[a.out] Exit code 203. Stop.




Werner Stanglow
Edited by: borchert, last change: 1997/02/25, revision: 1.2, converted to HTML: 1997/04/28

Modula-2 || Compiler & Tools || Library || Search Engine