Bei Funktionen der C-Bibliothek, die mit Dateien arbeiten, muss vor der Ausführung der eigentlichen Funktionalität zunächst ermittelt werden, ob es sich um eine Datei im POSIX-Dateisystem oder um eine BS2000-Datei handelt. Wenn Sie schon genau wissen, dass Sie nur mit Dateien aus dem POSIX-Dateisystem arbeiten, könnte dieser Aufwand eingespart und somit eine bessere Performance erzielt werden. Mit CRTE wird deshalb für folgende Makros eine spezielle Makrovariante für die Arbeit mit Dateien des POSIX-Dateisystems ausgeliefert:
getc(p): | Zeichen aus einer Datei einlesen |
getchar(): | Zeichen von Standardeingabe einlesen |
putc(x, p): putchar(x) | Zeichen in Datei schreiben Zeichen auf Standardausgabe ausgeben |
clearerr(p): | Dateiende- und Fehlerflag löschen |
feof(p): | Test auf Dateiende |
ferror(p): | Test auf Dateifehler |
fileno(p): | Dateideskriptor ermitteln |
Die Makros sind wie bisher im Header <stdio.h
> enthalten. Damit die POSIX-spezifische Ausprägung generiert wird, muss der Anwender das Define __POSIX_MACROS
setzen, bevor er <stdio.h
> einbindet.