MF_setWriteFormat
| MD_setWriteFormat |
ME_setWriteFormat |
MCF_setWriteFormat |
MCD_setWriteFormat |
MCE_setWriteFormat |
|
Funktion | Definition des Ausgabeformats für M?_write: nur C/C++ ! |
|
Syntax C/C++ | #include <MFstd.h>
void MF_setWriteFormat( char *FormatString ); |
C++ MatObj | #include <OptiVec.h>
void matrix<T>::setWriteFormat( char *FormatString ); |
Pascal/Delphi | Diese Funktionen existieren nicht. |
|
Beschreibung | Diese Funktionen sind identisch mit der VF_setWriteFormat-Familie.
Das Zahlenformat der von M?_write geschriebenen Matrix-Elemente kann mit deser Funktion modifiziert werden. Sollen von M?_write geschriebene Zahlen irgendwann wieder eingelesen werden, dann sei man sich der Beschränkungen der M?_read-Funktionen bewußt: Nicht alle Formate, die man für die Ausgabe wählen kann, können hinterher korrekt gelesen werden.
MF_setWriteFormat sollte nicht für die Definition von Whitespace zwischen den Spalten eingesetzt werden. Dies ist vielmehr die Aufgabe von MF_setWriteSeparate.
Die folgende Tabelle faßt die für die verschiedenen Datentypen verwendeten Formate zusammen. Die letzte Spalte gibt die maximale Länge des Format-Strings an.
Version | Standard-Format | Alternativ-Beispiel | max. Länge |
MF_ | "% 11.8e" | "% 8.4f" | 16 |
MD_ | "% 19.16le" | "% 16.8lf" | 16 |
ME_ | "% 22.19Le" | "% 22.19LG" | 16 |
MCF_ | "% 11.8e, % 11.8e" | "{% 8.4f, % 8.4f}" | 32 |
MCD_ | "% 19.16le, % 19.16le" | "{% 19.16lE % 19.16lE}" | 32 |
MCE_ | "% 22.19Le, % 22.19Le" | "{% 22.19Lg % 22.19Lg}" | 32 |
|
|
Fehlerbehandlung | Format-Strings, deren Länge das in der obigen Tabelle angegebene Maximum übersteigt, führen zu einem Programm-Abbruch mit der Fehlermeldung "Invalid Parameter(s)".
Der eigentliche Inhalt des Format-Strings wird dagegen nicht überprüft. Man muss sich also vorsehen, nur für den jeweiligen Datentyp zulässige Formate zu spezifizieren. |
|
|