Beschreibung | Die Funktionen der VF_write- und VF_nwrite- Familien benutzen intern die ANSI−C-Funktion fprintf zur Ausgabe von Zahlen in einen Stream.
Nach den in der Dokumentation Ihres C/C++−Compilers für printf beschriebenen Regeln läßt sich daher das verwendete Format auf die jeweiligen Bedürfnisse einstellen. Bei aller Freiheit der Format-Wahl denke man allerdings daran, dass sich nicht jedes beliebige Format dazu eignet, hinterher auch wieder eingelesen zu werden (siehe VF_read).
Man gebrauche VF_setWriteFormat nicht zur Definition von Whitespace vor oder nach den Zahlen. Hierfür ist VF_setWriteSeparate zuständig.
Einzelheiten zu den Versionen für die verschiedenen Datentypen entnehme man der folgenden Tabelle. Man beachte dabei die in der letzten Spalte angegebene maximale Länge des an VF_setWriteFormat übergebenen Formatstrings.
Version | Standard-Format | Alternativ-Beispiel | max. Länge |
VF_ | "% 11.8e" | "% 8.4f" | 16 |
VD_ | "% 19.16le" | "% 16.8lf" | 16 |
VE_ | "% 22.19Le" | "% 22.19LG" | 16 |
VCF_ | "% 11.8e, % 11.8e" | "{% 8.4f, % 8.4f}" | 32 |
VCD_ | "% 19.16le, % 19.16le" | "{% 19.16lE % 19.16lE}" | 32 |
VCE_ | "% 22.19Le, % 22.19Le" | "{% 22.19Lg % 22.19Lg}" | 32 |
VPF_ | "% 11.8e @% 11.8e" | "{% 8.4f @% 8.4f}" | 32 |
VPD_ | "% 19.16le @% 19.16le" | "{% 19.16lE @% 19.16lE}" | 32 |
VPE_ | "% 22.19Le @% 22.19Le" | "{% 22.19Lg @% 22.19Lg}" | 32 |
VI_ | 32-bit: "% 10d"
16-bit: "% 5d" | "0x% 8x"
"0x% 4x" | 12 12 |
VBI_ | "% 3hd" | "0x% 2hX" | 12 |
VSI_ | "% 5hd" | "0x% 4hX" | 12 |
VLI_ | "% 10ld" | "%08lXh" | 12 |
VQI_ | "% 20.0Lf" | | 16 |
VU_ | 32-bit: "% 10u" 16-bit "% 5u" | "%04xh"
"%04xh" | 12 12 |
VUB_ | "% 3hu" | "0%02ho" | 12 |
VUS_ | "% 5hu" | "0%04ho" | 12 |
VUL_ | "% 10lu" | "0%08lO" | 12 |
Der Datentyp quad wird intern vor der Ausgabe in extended umgewandelt, um die Funktion fprintf einsetzen zu können (die derzeit keine quads unterstützt). Daraus erklärt sich die Format-Angabe als long double. Ähnlich erklärt sich die 16-bit-Formatangabe für die 8-bit-Ganzzahlen, die zunächst automatisch auf 16 bit erweitert werden. |