The FmtBuf interface provides functionality similar to the Fmt
   interface, but the formatted result is written into a user-supplied
   character buffer, rather than being returned as a TEXT. 
INTERFACEEach of these routines has the same specification as the corresponding routine in theFmtBuf ; IMPORT Fmt, Word; IMPORT Real AS R, LongReal AS LR, Extended AS ER; TYPE T = ARRAY OF CHAR; Base = Fmt.Base; Style = Fmt.Style;
Fmt interface, except that they write the result into
   the character buffer b and return the number of characters written.
   A checked run-time error occurs if the buffer b is not large enough
   to hold the result. See the FmtBufF interface for an analysis of a
   conservative upper-bound on the required buffer size. 
PROCEDURE Int(VAR (*OUT*) b: T; n: INTEGER; base: Base := 10): CARDINAL;
PROCEDURE Unsigned(VAR (*OUT*) b: T; n: Word.T; base: Base := 16): CARDINAL;
PROCEDURE Real(
    VAR (*OUT*) b: T;
    x: REAL;
    style := Style.Auto;
    prec: CARDINAL := R.MaxSignifDigits - 1;
    literal := FALSE)
  : CARDINAL;
PROCEDURE LongReal(
    VAR (*OUT*) b: T;
    x: LONGREAL;
    style := Style.Auto;
    prec: CARDINAL := LR.MaxSignifDigits - 1;
    literal := FALSE)
  : CARDINAL;
PROCEDURE Extended(
    VAR (*OUT*) b: T;
    x: EXTENDED;
    style := Style.Auto;
    prec: CARDINAL := ER.MaxSignifDigits - 1;
    literal := FALSE)
  : CARDINAL;
END FmtBuf.