fread_charT_fread_charFreadCharFreadCharfread_char (Operator)

Name

fread_charT_fread_charFreadCharFreadCharfread_char — Einlesen eines Zeichens aus einer Textdatei.

Signatur

fread_char( : : FileHandle : Char)

Herror T_fread_char(const Htuple FileHandle, Htuple* Char)

void FreadChar(const HTuple& FileHandle, HTuple* Char)

HString HFile::FreadChar() const

static void HOperatorSet.FreadChar(HTuple fileHandle, out HTuple charVal)

string HFile.FreadChar()

def fread_char(file_handle: HHandle) -> str

Beschreibung

fread_charfread_charFreadCharFreadCharfread_char liest aus der Eingabedatei, die durch das Handle FileHandleFileHandleFileHandlefileHandlefile_handle definiert ist und mit open_fileopen_fileOpenFileOpenFileopen_file im Textformat geöffnet worden sein muss, ein Zeichen ein.

Das eingelesene Zeichen oder der Steuerstring 'eof' wird im Parameter CharCharCharcharValchar zurückgegeben. Dabei wird vom Operator fread_charfread_charFreadCharFreadCharfread_char das String-Encoding der Datei berücksichtigt, es sei denn, die Datei wurde mit der Option 'ignore_encoding'"ignore_encoding""ignore_encoding""ignore_encoding""ignore_encoding" geöffnet (s.a. open_fileopen_fileOpenFileOpenFileopen_file). Das bedeutet, dass bei korrektem Encoding der Operator fread_charfread_charFreadCharFreadCharfread_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>:)set_system("filename_encoding",<encoding>)SetSystem("filename_encoding",<encoding>)SetSystem("filename_encoding",<encoding>)set_system("filename_encoding",<encoding>)).

Wurde die Datei mit der Option 'ignore_encoding'"ignore_encoding""ignore_encoding""ignore_encoding""ignore_encoding" geöffnet, und wurden noch nicht alle Zeichen der Datei gelesen, enthält CharCharCharcharValchar 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_charfread_charFreadCharFreadCharfread_char die Zeichenkette 'eof'"eof""eof""eof""eof".

Ergeben in dem angegebenen Encoding die nächsten zu lesenden Bytes kein gültiges Zeichen, wird von fread_charfread_charFreadCharFreadCharfread_char ein Low-Level-Fehler ausgegeben. Unabhängig von dem Low-Level-Fehler wird fread_charfread_charFreadCharFreadCharfread_char normal beendet und liefert das nächste Byte in CharCharCharcharValchar 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':)set_system("filename_encoding","locale")SetSystem("filename_encoding","locale")SetSystem("filename_encoding","locale")set_system("filename_encoding","locale")).

Ausführungsinformationen

Parameter

FileHandleFileHandleFileHandlefileHandlefile_handle (input_control)  file HFile, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Datei-Handle.

CharCharCharcharValchar (output_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Eingelesenes Zeichen oder Steuerstring ('eof').

Beispiel (HDevelop)

* Read a text file character by character.
open_file (FileName, 'input', FileHandle)
repeat
    fread_char (FileHandle, Char)
until (Char == 'eof')
close_file (FileHandle)

Ergebnis

fread_charfread_charFreadCharFreadCharfread_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.

Vorgänger

open_fileopen_fileOpenFileOpenFileopen_file

Nachfolger

close_fileclose_fileCloseFileCloseFileclose_file

Alternativen

fread_stringfread_stringFreadStringFreadStringfread_string, read_stringread_stringReadStringReadStringread_string, fread_linefread_lineFreadLineFreadLinefread_line

Siehe auch

open_fileopen_fileOpenFileOpenFileopen_file, close_fileclose_fileCloseFileCloseFileclose_file, fread_stringfread_stringFreadStringFreadStringfread_string, fread_linefread_lineFreadLineFreadLinefread_line

Modul

Foundation