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 - aktuellen Wert des Lese-/Schreibzeigers ermitteln (BS2000)

&pagelevel(4)&pagelevel

Definition

#include <stdio.h>

long tell(int fildes);

Beschreibung

tell() liefert den aktuellen Wert des Lese-/Schreibzeigers für die Datei mit dem Dateideskriptor fildes. tell() lässt sich auf Binärdateien (PAM, INCORE) und Textdateien (SAM, ISAM) anwenden. SAM-Dateien werden mit elementaren Funktionen stets als Textdateien verarbeitet. fildes ist der Dateideskriptor der Datei, für die der aktuelle Wert des Lese-/Schreibzeigers bestimmt werden soll.

Returnwert

aktueller Wert des Lese-/Schreibzeigers



Anzahl Bytes, die der Lese-/Schreibzeiger vom Dateianfang entfernt ist, in Binärdateien, bei Erfolg.


absolute Position des Lese-/Schreibzeigers



in Textdateien, bei Erfolg.


-1

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen (z.B. tell() nicht erlaubt, Block/Satzanzahl zu groß).

Hinweise

Die Aufrufe tell( fildes ) und lseek( fildes, 0L, SEEK_CUR) sind äquivalent. tell() ist nicht anwendbar auf Systemdateien (SYSDTA, SYSLST, SYSOUT).

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

Siehe auch

lseek(), fseek(), ftell(), stdio.h.