open(unit=unit,file=file,status= status,action=action[,...])Dabei sind die zwingend vorgeschriebenen Parameter
Daneben gibt es noch eine Reihe optionaler Parameter wie form="formatted" (Standardannahme) oder "unformatted" und position="rewind" oder "append" (Positionierung auf Beginn bzw. Ende des Files). Das File wird geschlossen mit
unit logische Einheit (ganzzahliger Ausdruck) file Filename (Zeichenkettenausdruck) status "old", "new" oder "replace" action "read", "write" oder "readwrite"
close(unit=unit)Im Unterschied zu F, wo die logische Einheit beliebig wählbar ist (aber natürlich eindeutig sein muß), ist in C der File-Pointer durch den Rückgabewert der Funktion fopen gegeben und daher vom System bestimmt. Es muß also zunächst ein File-Pointer vom Typ FILE deklariert werden
FILE *filepointer;Das File wird dann geöffnet mit
filepointer=fopen(file,mode);Hier ist der Zeichenkettenausdruck file wieder der Filename, und mode bezeichnet den Zugriffsmodus mit den möglichen Werten
Das File wird geschlossen mit
"r" Lesen "r+" Lesen und Schreiben "w" Schreiben (existierendes File wird gelöscht) "w+" Lesen und Schreiben (existierendes File wird gelöscht) "a" Schreiben (Positionierung auf File-Ende) "a+" Lesen und Schreiben (Positionierung auf File-Ende)
fclose(filepointer);
read(unit=unit,fmt="(format)") variable_listund für Schreiben auf ein File
write(unit=unit,fmt="(format)") expression_listIn C treten an die Stelle von scanf und printf die Funktionen fscanf und fprintf, die als zusätzliches erstes Argument den dem File zugeordneten File-Pointer enthalten, sonst aber vollkommen analog zu scanf und prin tf sind. Man liest also in C von einem formatierten File mit
fscanf(filepointer,"format", variable_list);und schreibt mit
fprintf(filepointer,"format", expression_list);Das Lesen und Schreiben von Files erfolgt grundsätzlich sequentiell. In beiden Sprachen gibt es aber noch zusätzliche Befehle zur genaueren Positionierung auf Files. F kennt außer sequentiellen Files auch noch (bei Binärfiles) den Typ des Direktzugriffsfiles.