V.._write und V.._nwrite zu verwendenden Zahlen-Formates: nur C/C++! (OptiVec Vektor-Funktion)">V_write, V_nwrite, verwendenden, Zahlen-Formates:, C/C++!">
VF_setWriteFormatVD_setWriteFormatVE_setWriteFormat
VCF_setWriteFormatVCD_setWriteFormatVCE_setWriteFormat
VPF_setWriteFormatVPD_setWriteFormatVPE_setWriteFormat
VI_setWriteFormatVBI_setWriteFormantVSI_setWriteFormat
VLI_setWriteFormatVQI_setWriteFormat
VU_setWriteFormatVUB_setWriteFormatVUS_setWriteFormat
VUL_setWriteFormatVUI_setWriteFormat
FunktionDefinition des von den Funktionen V.._write und V.._nwrite zu verwendenden Zahlen-Formates: nur C/C++!
Syntax C/C++#include <VFstd.h>
void VF_setWriteFormat( char *FormatString );
C++ VecObj#include <OptiVec.h>
void vector<T>::setWriteFormat( char *FormatString );
BeschreibungDie 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.

 
VersionStandard-FormatAlternativ-Beispielmax. 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.

FehlerbehandlungIm Falle von Formatstrings, die die angegebene Maximal-Länge überschreiten, erfolgt ein Programm-Abbruch mit der Fehlermeldung "Invalid Parameter(s)".
Eine Überprüfung des Inhalts des Formatstrings erfolgt dagegen nicht. Eventueller Unsinn macht sich daher erst im Ausgabe-Stream bemerkbar.
Rückgabewertkeiner
QuerverweisVF_setWriteSeparate,   VF_write,   VF_nwrite,   VF_read,   VF_nread

VectorLib Inhaltsverzeichnis  OptiVec Home