.. highlightlang:: us .. index:: fread .. index:: fread_char .. index:: fread_char8 .. index:: fread_float64 .. index:: fread_float32 .. index:: fread_uint8 .. index:: fread_int8 .. index:: fread_int16 .. index:: fread_uint16 .. index:: fread_int32 .. index:: fread_uint32 .. index:: fread_int64 .. index:: fread_uint64 .. _fread: fread ===== .. us.tag fread GERMAN ffiles Changed420 Changed500 Changed582 :ref:`fread` liest Daten aus einer Datei. .. function:: dat = fread(fh, ssType) dat = fread(fh, ssType, n) dat = fread_char(fh, n) dat = fread_char8(fh, n) dat = fread_float64(fh, n) dat = fread_float32(fh, n) dat = fread_int8(fh, n) dat = fread_uint8(fh, n) dat = fread_int16(fh, n) dat = fread_uint16(fh, n) dat = fread_int32(fh, n) dat = fread_uint32(fh, n) dat = fread_int64(fh, n) dat = fread_uint64(fh, n) .. us.return **Returnwert** *dat* ist ein skalarer String, falls *ssType* gleich "char" ist oder ein Vektor mit floating-point-Werten in den sonstigen Fällen. .. us.params **Parameter** .. uparam:: fh *fh* ist ein Datei-Zugriffsnummer (file handle), die die Funktion :ref:`fopen` erzeugt hat. .. uparam:: ssType *ssType* ist einer der folgenden Strings: .. list-table:: :header-rows: 1 * - Wert - Alte Bezeichnung - Bedeutung * - "float64" - "double" - 8 Bytes Floating-Point-Wert, :ref:`fread_float64 `. * - "float32" - "float" - (4 Bytes) * - ``-`` - "real48" - (6 Bytes) * - "char" - "char" - 2 Bytes-Unicode-Zeichen, :ref:`fread_char `. * - "char8" - "char8" - 1 Byte, :ref:`fread_char8 `, siehe :ref:`mem_get`. * - "int8" - ``-`` - (1 Byte) * - "uint8" - "uchar" - (1 Byte) * - "int16" - "short" - (2 Bytes) * - "uint16" - "ushort" - (2 Bytes) * - "int32" - "int, long" - (4 Bytes) * - "uint32" - "uint, ulong" - (4 Bytes) * - "int64" - ``-`` - (8 Bytes) * - "uint64" - ``-`` - (8 Bytes) .. uparam:: n *n* bestimmt die Anzahl an Datenobjekten die gelesen werden sollen. Wenn *n* nicht angegeben wird (bzw. n <= 0), wird die gesamte Datei ab der aktuellen Position gelesen. .. us.example **Beispiel** :: fh = fopen("/test.bin", "wb"); rvValues = 1:100; // 1,2,3,4,... fwrite(fh, "int16", rvValues); // writes 100 short values (int16) fclose(fh); fh = fopen("/test.bin", "rb"); rvValues = fread(fh, "int16", 100); // reads 100 short values (int16) fclose(fh); .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Beschreibung * - 5.8.2 - Neuer Typ "char8". * - 5.0.0 - "real48", neue Typen "int8", "int64", "uint64", char Unicode. * - 4.2.0 - Falls *ssType* == "char" ist, wird der Resultat-String nicht mehr am ersten 0-Zeichen abgeschnitten. Es kann die Funktion :ref:`strtrim` verwendet werden, um den Resultat-String am ersten 0-Zeichen abzuschneiden. .. seealso:: :ref:`uberblick-binar--und-text-dateien`, :ref:`fopen`, :ref:`fwrite`, :ref:`fseek`, :ref:`feof` :sub:`id-1864235`