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 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() : SAM-Datei Satzlänge | <= 2048 Byte | Satzanzahl/Block | <= 256 | Blockanzahl | <= 2048 |
ISAM-Datei Satzlänge | <= 32 KByte | Satzanzahl | <= 32 K |
|
Siehe auch | lseek() , fseek() , ftell() , stdio.h .
|