Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

tell - Aktuelle Position des Lese-/Schreibzeigers ermitteln

&pagelevel(4)&pagelevel

Definition

#include <stdio.h>

long tell(int dk);

tell liefert die aktuelle Position des Lese-/Schreibzeigers für die Datei mit Dateikennzahl dk.

tell lässt sich auf Binärdateien (PAM, INCORE) und Textdateien (SAM, ISAM) anwenden.
SAM-Dateien werden mit elementaren Funktionen stets als Textdateien verarbeitet.

Returnwert

Position in der Datei bei Erfolg, und zwar



bei Binärdateien die Anzahl Bytes, die der Lese-/Schreibzeiger vom Dateianfang entfernt ist,
bei Textdateien die absolute Position des Lese-/Schreibzeigers.x

 

-1

im Fehlerfall. Zusätzlich wird in errno eine entsprechende Fehlerinformation abgelegt (z.B. tell nicht erlaubt, Block/Satzanzahl zu groß).

Hinweise

Die Aufrufe tell(dk) und lseek(dk, 0L, SEEK_CUR) sind äquivalent.

tell ist nicht anwendbar für Systemdateien (SYSDTA, SYSLST, SYSOUT).

Da die Informationen über die Dateiposition in einem 4 Byte langen Feld abgelegt werden, ergeben sich für die Größe von SAM- und ISAM-Dateien folgende Einschränkungen bei der Bearbeitung mit tell/lseek:

  1. SAM-Datei

    Satzlänge

    <= 2048 Byte

    Satzanzahl/Block

    <= 256

    Blockanzahl

    <= 2048

  2. ISAM-Datei

    Satzlänge

    <= 32 KByte

    Satzanzahl          

    <= 32 K

Beispiel

siehe Beispiel bei lseek.

Siehe auch

lseek, lseek64, fseek, fseek64, ftell, ftell64