fread_bytesT_fread_bytesFreadBytesFreadBytesfread_bytes (Operator)

Name

fread_bytesT_fread_bytesFreadBytesFreadBytesfread_bytes — Einlesen von Bytes aus einer Eingabebinärdatei.

Signatur

fread_bytes( : : FileHandle, NumberOfBytes : ReadData, IsEOF)

Herror T_fread_bytes(const Htuple FileHandle, const Htuple NumberOfBytes, Htuple* ReadData, Htuple* IsEOF)

void FreadBytes(const HTuple& FileHandle, const HTuple& NumberOfBytes, HTuple* ReadData, HTuple* IsEOF)

HTuple HFile::FreadBytes(Hlong NumberOfBytes, Hlong* IsEOF) const

static void HOperatorSet.FreadBytes(HTuple fileHandle, HTuple numberOfBytes, out HTuple readData, out HTuple isEOF)

HTuple HFile.FreadBytes(int numberOfBytes, out int isEOF)

def fread_bytes(file_handle: HHandle, number_of_bytes: int) -> Tuple[Sequence[int], int]

Beschreibung

fread_bytesfread_bytesFreadBytesFreadBytesFreadBytesfread_bytes liest Bytes aus der Eingabedatei, die durch das Handle FileHandleFileHandleFileHandleFileHandlefileHandlefile_handle definiert ist und mit open_fileopen_fileOpenFileOpenFileOpenFileopen_file im Binärformat geöffnet worden sein muss.

Die Anzahl der zu lesenden Bytes wird in NumberOfBytesNumberOfBytesNumberOfBytesNumberOfBytesnumberOfBytesnumber_of_bytes übergeben, und muss größer als 0 sein.

Die gelesenen Bytes werden in ReadDataReadDataReadDataReadDatareadDataread_data zurückgegeben. IsEOFIsEOFIsEOFIsEOFisEOFis_eof enthält den Wert 1, wenn das Dateiende erreicht wurde, ansonsten 0.

Wenn die Anzahl der zu lesenden Bytes größer ist als die Anzahl der Bytes in der Eingabebinärdatei, werden die gelesenen Bytes bis zum Dateiende in ReadDataReadDataReadDataReadDatareadDataread_data zurückgegeben und der Parameter IsEOFIsEOFIsEOFIsEOFisEOFis_eof wird auf 1 gesetzt.

Wenn keine Bytes gelesen werden können, weil das Ende der Datei erreicht ist, wird in ReadDataReadDataReadDataReadDatareadDataread_data ein leeres Tupel zurückgegeben und der Parameter IsEOFIsEOFIsEOFIsEOFisEOFis_eof auf 1 gesetzt.

Ausführungsinformationen

Parameter

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

Datei-Handle.

NumberOfBytesNumberOfBytesNumberOfBytesNumberOfBytesnumberOfBytesnumber_of_bytes (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl der zu lesenden Bytes.

ReadDataReadDataReadDataReadDatareadDataread_data (output_control)  integer-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Gelesenen Bytes.

IsEOFIsEOFIsEOFIsEOFisEOFis_eof (output_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Ende der Datei beim Lesen erreicht.

Beispiel (HDevelop)

* Read a binary file 5 bytes at a time till EOF is reached.
open_file(Filename,'input_binary',FileHandle)
repeat
  fread_bytes(FileHandle, 5, BytesRead, IsEOF)
until (IsEOF)
close_file (FileHandle)

Ergebnis

fread_bytesfread_bytesFreadBytesFreadBytesFreadBytesfread_bytes liefert den Wert TRUE, falls die Eingabedatei im Binärformat geöffnet ist und gelesen werden konnte. Andernfalls wird eine Fehlerbehandlung ausgelöst.

Vorgänger

open_fileopen_fileOpenFileOpenFileOpenFileopen_file

Nachfolger

close_fileclose_fileCloseFileCloseFileCloseFileclose_file

Alternativen

fread_charfread_charFreadCharFreadCharFreadCharfread_char

Siehe auch

open_fileopen_fileOpenFileOpenFileOpenFileopen_file, close_fileclose_fileCloseFileCloseFileCloseFileclose_file, fwrite_bytesfwrite_bytesFwriteBytesFwriteBytesFwriteBytesfwrite_bytes

Modul

Foundation