Lpc Manpages

SYNOPSIS:
	string sprintf(string fmt, ...)

BESCHREIBUNG:
	Die meisten Zeichen im Format-String (FMT) werden direkt in
	die Ausgabe uebernommen (d.h. gedruckt oder in den Rueckgabe-
	String geschrieben). Um die zusaetzlichen Argumente in die
	Ausgabe hinein zu formatieren, muss ein Argument-Format-String
	(AFS) in den FMT eingefuegt werden.
	Ein AFS ist eine Sequenz von Zeichen, wobei das erste Zeichen
	ein Prozent-Zeichen "%" und das letzte ein Typ-Bezeichner des
	zugehoerigen Arguments ist. Um ein Prozent-Zeichen in die
	Ausgabe zu uebernehmen, muss ein doppeltes Prozent-Zeichen
	"%%" im FMT angegeben werden.

Gueltige Typ-Bezeichner fuer die Argumente sind:
  
  "c" : das Argument (Integer) wird als das entsprechende ASCII-Zeichen
	ausgegeben
  "s" : das Argument ist ein String
  "d" : das Argument ist ein Integer und wird in dezimaler Form ausgegeben
  "i" : bedeutet das gleiche wie "d"
  "o" : das Argument ist ein Integer und wird in oktaler Form ausgegeben
  "x" : das Argument ist ein Integer und wird in hexadezimaler Form ausgegeben
  "X" : bedeutet das gleiche wie "x", aber die Buchstaben erscheinen gross
  "f" : das Argument ist ein Float und wird in dezimaler Notation, also z.B.
        "-12.345", ausgegeben. Die Zahl der Nachkommastellen wird durch die
        Option "."n festgelegt (siehe unten).
  "e" : das Argument ist ein Float und wird in wissenschaftlicher Notation,
        also z.B. "-1.2345e+01", ausgegeben. Die Zahl der Nachkommastellen
        wird durch die Option "."n festgelegt (siehe unten).
  "E" : bedeutet das gleiche wie "e", aber dem Exponenten wird der Buchstabe
        "E" anstatt "e" vorangestellt.
  "g" : das Argument ist ein Float. Wenn der Exponent kleiner als -4 ist, wird
        der Wert wie bei "f" ausgegeben, ansonsten wie bei "e". Die Option
        "."n legt die Zahl der signifikanten Stellen fest.
  "G" : das Argument ist ein Float. Wenn der Exponent kleiner als -4 ist, wird
        der Wert wie bei "f" ausgegeben, ansonsten wie bei "E". Die Option
        "."n legt die Zahl der signifikanten Stellen fest.
  "O" : das Argument ist ein LPC-Datentyp, der in einem beliebigen Format
	gedruckt werden soll. Dies ist fuer Debugging-Zwecke vorgesehen.
	Wenn das Argument ein Objekt ist wird die Funktion "object_name()"
	im Master-Objekt mit diesem Objekt als Argument aufgerufen. Der
	zurueckgegebene String wird in Klammern ans Ende des Dateinamens
	gesetzt. Wird 0 von "object_name()" zurueckgegeben, so wird
	lediglich der Dateiname ausgegeben.

	Zwischen dem Prozent-Zeichen und dem Typ-Bezeichner des Arguments
	koennen die folgenden Optionen eingefuegt werden, um die Formatierung
	anzupassen. Wenn nicht explizit darauf hingewiesen wird, spielt die
	Reihenfolge keine Rolle. "n" bezeichnet einen Integer-Wert, der
	allerdings durch "*" ersetzt werden kann. In dem Fall wird das
	naechste Argument fuer den Wert eingesetzt.

Optionen:
   n    spezifiziert die Feld-Groesse. Wenn eine 0 vorangestellt wird,
        wird als Fuell-String "0" verwendet.
  "."n  gibt die Ausgabe-Genauigkeit an. Bei einfachen Strings (nicht
	Spalten oder Tabellen) gibt es die Abschneide-Laenge an.
  ":"n  n gibt die Feld-Groesse _und_ die Genauigkeit. Wenn n eine 0
	vorangestellt wird, wird "0" als Fuell-String verwendet.
  "'X'" Der Fuell-String wird auf den/die Zeichen zwischen den Hoch-Kommata
	gesetzt. Wenn der Feld-Groesse auch noch eine 0 vorangestellt wird,
	dann gilt die Einstellung, die als letztes erfolgt ist.
	HINWEIS: Um "'" in den Fuell-String einzufuegen, muss man "\\'"
	verwenden. (Der zweite Backslash verhindert, dass der erste vom
	Interpreter eliminiert wird. Entsprechend muss man "\\\\" verwenden,
	um einen einzelnen Backslash in den Fuell-String aufzunehmen.)
  " "   Positiven Integern wird ein Leerzeichen vorangestellt.
  "+"   Positiven Integern wird ein "+" vorangestellt.
  "-"   Linksbuendige Ausrichtung innerhalb der Feld-Groesse.
        HINWEIS: Die Voreinstellung ist, dass (s)printf() rechtsbuendig
	ausrichtet. Dies ist unnatuerlich im Hinblick auf hauptsaechlich
	String-basierte Sprache, wurde aber aus "Kompatibilitaets-Gruenden"
	uebernommen.
  "|"   Zentrierung innerhalb der Feld-Groesse.
  "="   Spalten-Modus. Wird ignoriert ausser wenn der Typ-Bezeichner "s"
	ist. Die Feld-Groesse muss angegeben werden und spezifiziert die
	Breite der Spalte. Wenn die Genauigkeit angegeben wird, dann
	spezifiziert sie die Zahl der Spalten in der Tabelle, anderenfalls
	wird diese Zahl "optimal" generiert.
  "#"   Tabellen-Modus. Wird ignoriert ausser wenn der Typ-Bezeichner "s"
	ist. Die Feld-Groesse muss angegeben werden. Wenn die Genauigkeit
	angegeben wird, dann spezifiziert sie die Zahl der Spalten in der
	Tabelle, anderenfalls wird diese Zahl "optimal" generiert. Dem
	Tabellen-Modus wird eine Liste von "Woertern" uebergeben, die durch
	Slash-n von einander getrennt sind. Das Ausgabe-Format aehnelt dem
	von "ls".
  "@"   Das Argument ist ein Array. Der entsprechende AFS (ohne alle "@")
	wird auf jedes einzelne Element des Arrays angewandt.

SIEHE AUCH:
	printf(E)