fread_char — Einlesen eines Zeichens aus einer Textdatei.
fread_char( : : FileHandle : Char)
fread_char liest aus der Eingabedatei, die
durch das Handle FileHandle definiert ist und mit open_file
im Textformat geöffnet worden sein muss, ein Zeichen ein.
Das eingelesene Zeichen oder der Steuerstring 'eof' wird im Parameter
Char zurückgegeben.
Dabei wird vom Operator fread_char das String-Encoding der Datei
berücksichtigt, es sei denn, die Datei wurde mit der Option
'ignore_encoding' geöffnet (s.a. open_file).
Das bedeutet, dass bei korrektem Encoding der Operator
fread_char auch Multi-Byte-Zeichen mit einem Aufruf zurückliefert.
Falls notwendig wird das Zeichen anschließend in das aktuelle Encoding der
HALCON-Bibliothek umgewandelt
(s.a. set_system(::'filename_encoding',<encoding>:)).
Wurde die Datei mit der Option 'ignore_encoding' geöffnet, und
wurden noch nicht alle Zeichen der Datei gelesen, enthält
Char immer genau das nächste Byte aus der Datei ohne weitere
Interpretation oder Umcodierung.
Das kann z.B. dann sinnvoll sein, wenn eine Datei spezielle
benutzerdefinierte Steuerzeichen enthält, die in einer Art Rohdaten-Modus
gelesen werden sollen.
Wurde das Ende der Datei erreicht und sind keine weiteren Daten verfügbar,
liefert fread_char die Zeichenkette 'eof'.
Ergeben in dem angegebenen Encoding die nächsten zu lesenden Bytes kein
gültiges Zeichen, wird von fread_char ein Low-Level-Fehler
ausgegeben.
Unabhängig von dem Low-Level-Fehler wird fread_char normal beendet
und liefert das nächste Byte in Char zurück.
Darüber hinaus wird ein Low-Level-Fehler erzeugt, wenn das gelesene Zeichen
nicht in das aktuelle Encoding der HALCON-Bibliothek umgewandelt werden
kann.
Dies kann nur vorkommen, wenn die Datei UTF-8-kodiert ist und die
HALCON-Bibliothek das lokale Encoding verwendet
(s.a. set_system(::'filename_encoding','locale':)).
FileHandle (input_control) file → (handle)
Datei-Handle.
Char (output_control) string → (string)
Eingelesenes Zeichen oder Steuerstring ('eof').
* Read a text file character by character.
open_file (FileName, 'input', FileHandle)
repeat
fread_char (FileHandle, Char)
until (Char == 'eof')
close_file (FileHandle)
fread_char liefert den Wert 2 (H_MSG_TRUE), falls eine Eingabedatei geöffnet
ist. Ansonsten wird eine Fehlerbehandlung durchgeführt.
Encodingfehler haben keinen Einfluss auf den Rückgabewert.
fread_string,
read_string,
fread_line
open_file,
close_file,
fread_string,
fread_line
Foundation