Öffnen einer Datei im Modus 'a +'

8

Wenn eine Datei mit dem folgenden Befehl geöffnet wird:

%Vor%

Die man-Seite lautet:

  

a +

     

Zum Lesen und Anhängen öffnen (am Ende der Datei schreiben). Das                     Datei wird erstellt, wenn sie nicht existiert. Die ursprüngliche Dateiposition                     zum Lesen ist am Anfang der Datei, aber die Ausgabe ist                     immer an das Ende der Datei angehängt.

Also hat f1 zwei separate Offset-Zeiger, einen für Lese- & amp; ein anderer für schreiben?

    
codaddict 05.09.2010, 05:33
quelle

3 Antworten

18

Nein.

Es gibt nur einen Zeiger, der anfänglich am Anfang der Datei steht, aber wenn eine Schreiboperation versucht wird, wird sie an das Ende der Datei verschoben . Sie können sie mit fseek oder rewind an einer beliebigen Stelle in der Datei neu positionieren, um sie zu lesen, aber beim Schreiben wird sie wieder an das Ende der Datei verschoben.

    
codaddict 05.09.2010, 05:38
quelle
4

Nein, es hat nur einen Zeiger.

    
raj_arni 05.09.2010 05:40
quelle
4

Sie können nie Lese- und Schreibvorgänge für FILE mischen, ohne dazwischen fseek aufzurufen. Bei einigen Implementierungen funktioniert es zwar wie gewünscht, aber ein davon abhängiges Programm hat ein undefiniertes Verhalten. Somit ist die Frage nach 2 Positionen bedeutungslos.

    
R.. 05.09.2010 14:34
quelle

Tags und Links