Contents
Inheritance:
Constructors:
Einlesen von Zeichen fester Länge aus einer Datei:
Methods:
Motivation
Im Unterschied zum Reader erlaubt UniFileReader die feste Breite (in Bytes) der einzulesenden Zeichen beim Aufruf des Konstruktors sowie danach mit der Methode setCharSize() festzulegen. Dies kann nützlich sein, wenn das Dateiformat anfangs nicht bekannt ist. In einem solchen Fall kann das Einlesen zunächst byteweise beginnen um das BOM (Byte-Order-Mark) auszuwerten. Falls sich dabei herausstellt, dass eine UTF-16 oder UTF-32 Codierung vorliegt, kann die Breite der Zeichen in der Folge auf 2 bzw. 4 Bytes geändert werden.
Constructors
UniFileReader (version 1)
Diese Klasse liest Zeichen fester Länge aus einer Datei.
Constructor:
UniFileReader(FILE *f,int csize)
Factory Method:
AbsUniFileReader *AbsUniFileReaderInterface::createUniFileReader(FILE *f,int csize)
Wrapper Class:
UniFileReaderWrapper(FILE *f,int csize)
The static method
AbsUniFileReaderInterface::createUniFileReader creates a new instance of class UniFileReader.
Parameters:
| FILE * | f | [IN] | Ein File-Handle einer bereits geöffneten Datei. |
| int | csize | | The size in bytes of characters to be read. This can be set to 1, 2, 3 or 4. (Mind that characters are returned as int-values, which limits the maximal size of characters to usually 4 bytes.) |
Return value:Gibt einen Pointer auf die neu erzeugte Instanz der Klasse
UniFileReader zurück.
Remarks:
Das Programm sollte die geöffnete Datei mit
fclose() wieder schließen. Die Freigabe des Readers schließt die Datei nicht.
UniFileReader (version 2)
Diese Klasse liest Zeichen fester Länge aus einer Datei.
Constructor:
UniFileReader(const char *filename,int csize)
Factory Method:
AbsUniFileReader *AbsUniFileReaderInterface::createUniFileReader(const char *filename,int csize)
Wrapper Class:
UniFileReaderWrapper(const char *filename,int csize)
The static method
AbsUniFileReaderInterface::createUniFileReader creates a new instance of class UniFileReader.
Parameters:
| const char * | filename | [IN] | Der Name der Datei aus welcher gelesen werden soll. Der Name muss ein null-terminierter String sein und kann zusätzlich einen Pfad enthalten. |
| int | csize | | The size in bytes of characters to be read. This can be set to 1, 2, 3 or 4. (Mind that characters are returned as int-values, which limits the maximal size of characters to usually 4 bytes.) |
Return value:Gibt einen Pointer auf die neu erzeugte Instanz der Klasse
UniFileReader zurück.
Remarks:
Die Datei wird automatisch geschlossen, sobald der Reader freigegeben wird.

Der Dateiname kann als ANSI oder UTF-8 codierter und null-terminierter String angegeben werden.
UniFileReader (version 3) [WIN_ONLY]
Diese Klasse liest Zeichen fester Länge aus einer Datei.
Constructor:
UniFileReader(const wchar_t *filename,int csize)
Factory Method:
AbsUniFileReader *AbsUniFileReaderInterface::createUniFileReader(const wchar_t *filename,int csize)
Wrapper Class:
UniFileReaderWrapper(const wchar_t *filename,int csize)
The static method
AbsUniFileReaderInterface::createUniFileReader creates a new instance of class UniFileReader.
Parameters:
| const wchar_t * | filename | [IN] | Der Name der Datei aus welcher gelesen werden soll. Der Name muss ein null-terminierter String sein und kann zusätzlich einen Pfad enthalten. |
| int | csize | | The size in bytes of characters to be read. This can be set to 1, 2, 3 or 4. (Mind that characters are returned as int-values, which limits the maximal size of characters to usually 4 bytes.) |
Return value:Gibt einen Pointer auf die neu erzeugte Instanz der Klasse
UniFileReader zurück.
Remarks:
Die Datei wird automatisch geschlossen, sobald der Reader freigegeben wird.

Diese Version des Konstruktors (bzw. des Wrappers oder der Factory Methode) steht nur unter Windows Betriebssystemen zur Verfügung. Aufrufe sollten immer innerhalb eines entsprechenden Präprozessor-Blocks stehen: Z.B.:
#ifdef _WIN32 ... #endif.

Der Dateiname muss als Windows (wide-character) codierter und null-terminierter String angegeben werden.
Methods
getCharSize
Gets the size of characters.
Signature:
int getCharSize()
Return value:The number of bytes per character.
setCharSize
Sets the size of characters.
Signature:
void setCharSize(int csize)
Parameters:
| int | csize | | The size in bytes of characters to be read. This can be set to 1, 2, 3 or 4. (Mind that characters are returned as int-values, which limits the maximal size of characters to usually 4 bytes.) |