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.


-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:

Da die Informationen über die Dateiposition in einem Feld zusammengefasst werden, ergeben sich für die Größe von SAM- und ISAM-Dateien folgende Einschränkungen:

SAM-Datei

Satzlänge

<= 2048 Byte

Satzanzahl/Block

<= 255

Blockanzahl

<= 2047

ISAM-Datei

Satzlänge

<= 32 KByte

Satzanzahl

< 32 K

Beispiel

siehe Beispiel bei lseek.

Siehe auch

lseek, lseek64, fseek, fseek64, ftell, ftell64