Beschreibung | strfmon() schreibt gemäß der Angabe format Zeichen vom Typ Character in das Feld, auf das s zeigt. Es werden nicht mehr als maxsize Byte in das Feld geschrieben.
format ist eine Zeichenkette, die zwei Arten von Objekten enthält: einfache Zeichen, die in den Ausgabestrom kopiert werden, und Konvertierungs-Spezifikationen. Konvertierungs-Spezifikationen bewirken, dass Argumente (null, eins oder mehrere) konvertiert und formatiert werden. Falls nicht genügend Argumente für das angegebene Format vorhanden sind, ist das Ergebnis undefiniert. Sind mehr Argumente vorhanden, als im Format vorgesehen, werden die überzähligen Argumente ignoriert. Eine Konvertierungs-Spezifikation besteht aus folgenden Elementen: einem %-Zeichen optionalen Flags einer optionalen Feldgröße einer optionalen linken Genauigkeit einer optionalen rechten Genauigkeit einem Konvertierungs-Zeichen, das bestimmt, wie konvertiert wird (Pflichtangabe)
FlagsUm die Konvertierung zu steuern, können Sie ein Flag oder mehrere der hier aufgeführten Flags angeben: =f | Ein Gleichheitszeichen, dem ein einzelnes Zeichen f folgt. Dieses Zeichen wird als Füllzeichen bei numerischen Werten verwendet. Das Füllzeichen muss sich in einem einzigen Byte darstellen lassen, damit es nicht mit Angaben zur Feldgröße und zur Ausrichtung kollidiert. Voreingestelltes Füllzeichen ist das Leerzeichen. Dieses Flag hat keinen Einfluss auf das Auffüllen wegen einer Feldgrößen-Angabe: hierfür wird immer das Leerzeichen als Füllzeichen verwendet. Das Flag wird ignoriert, wenn keine linke Genauigkeit angegeben ist. | ^ | Monetäre Werte werden ohne Gruppierungszeichen formatiert. Voreingestellt ist, dass monetäre Werte mit den für die aktuelle Lokalität gültigen Gruppierungszeichen formatiert werden. | + oder ( | Steuert, wie positive und negative monetäre Werte dargestellt werden. Nur eines der beiden Zeichen + oder ( darf angegeben werden. Ist + angegeben, werden die in der aktuellen Lokalität definierten Werte für + und - verwendet (in den USA z.B. die leere Zeichenkette für positive Werte und das Zeichen - für negative Werte). Ist ( angegeben, werden negative Werte in Klammern eingeschlossen. Voreingestellt ist die Angabe +. | ! | Unterdrückt das Währungszeichen in der Ausgabe. | - | Steuert die Ausrichtung. Wenn dieses Flag gesetzt ist, werden Werte in den Feldern linksbündig statt rechtsbündig ausgerichtet (d.h. rechts aufgefüllt). | Feldgröße w | Eine Folge von Dezimalziffern, die die minimale Feldgröße in Bytes festlegt. Das Ergebnis der Konvertierung wird rechtsbündig in dem Feld abgelegt und evtl. aufgefüllt (das Ergebnis wird linksbündig abgelegt, wenn das Flag - gesetzt ist). Voreingestellt ist die Feldgröße 0. | Linke Genauigkeit #n | Eine Folge von Dezimalziffern, der das Zeichen # vorangestellt ist. Dieser Wert gibt an, wie viele Ziffern maximal links vom Radix-Zeichen (z.B. das Komma in DM **15,20) erwartet werden. Diese Option kann dazu verwendet werden, das Ergebnis von mehreren strfmon -Aufrufen in Spalten auszurichten. Außerdem kann sie verwendet werden, um freie Positionen mit einem speziellen Zeichen aufzufüllen, wie z.B. $***123.45. Diese Option bewirkt, dass ein monetärer Wert so formatiert wird, als hätte er n Ziffern. Werden mehr als n Ziffernpositionen benötigt, wird diese Konvertierungs-Spezifikation ignoriert. Freie Ziffernpositionen werden mit dem numerischen Füllzeichen aufgefüllt (siehe Flag =f). Falls in der aktuellen Lokalität eine Gruppierung definiert ist und die Gruppierung nicht unterdrückt wird (Flag ^), werden die Gruppierungszeichen eingefügt, bevor freie Positionen mit Füllzeichen aufgefüllt werden. Füllzeichen werden nicht gruppiert, auch dann nicht, wenn das Füllzeichen numerisch ist. Um die Ausrichtung sicherzustellen, werden alle Zeichen wie Währungszeichen oder Minuszeichen vor oder nach der Zahl in der formatierten Ausgabe durch Leerzeichen so positioniert, dass ihre positiven und negativen Formate die gleichen Längen haben. | Rechte Genauigkeit .p | Eine Folge von Dezimalziffern, der das Zeichen . vorangestellt ist. Dieser Wert gibt an, wie viele Ziffern rechts vom Radix-Zeichen (z.B. dem Komma in DM **15,20) erscheinen sollen. Hat p den Wert 0, entfällt auch das Radix-Zeichen. Wenn keine rechte Genauigkeit angegeben ist, wird die in der aktuellen Lokalität definierte rechte Genauigkeit verwendet. Der zu formatierende Betrag wird vor der Formatierung auf die angegebene Anzahl von Ziffern gerundet. | Konvertierungs-ZeichenEs gibt folgende Konvertierungs-Zeichen: i | Das Argument vom Typ double wird gemäß dem internationalen Währungsformat formatiert, das in der Lokalität definiert ist (z.B. in den USA: USD 1,234.56 ). | n | Das Argument vom Typ double wird gemäß dem nationalen Währungsformat formatiert, das in der Lokalität definiert ist (z.B. in den USA: $1,234.56 ). | % | Konvertiert zu einem %., es wird kein Argument konvertiert. Die gesamte Konver-tierungs-Spezifikation muss %% sein. | Das Verhalten der Funktion wird durch die Kategorie LC_MONETARY der Lokalität des Programms beeinflusst. Das gilt insbesondere für das monetäre Radix-Zeichen (das ein anderes Zeichen sein kann als das numerische Radix-Zeichen, das für die LC_NUMERIC -Kate-gorie gilt), die Gruppierungszeichen, die Währungssymbole und Währungsformate. Das internationale Währungssymbol sollte dem ISO 4217:1987-Standard entsprechen. |