Datei in C löschen / kürzen, wenn sie bereits im Modus „r +“ geöffnet ist
Mein Code sieht derzeit ungefähr so aus (diese Schritte sind in mehrere Funktionen unterteilt):
/* open file */
FILE *file = fopen(filename, "r+");
if(!file) {
/* read the file */
/* modify the data */
/* truncate file (how does this work?)*/
/* write new data into file */
/* close file */
fclose(file);
}
Ich weiß, ich könnte die Datei mit in öffnen"w"
Modus, aber ich möchte dies in diesem Fall nicht tun. Ich weiß, dass es eine Funktion gibtftruncate
imunistd.h
/sys/types.h
Ich möchte diese Funktionen jedoch nicht verwenden. Mein Code sollte in hohem Maße portabel sein (auch unter Windows).
Gibt es eine Möglichkeit, eine Datei zu löschen, ohne sie zu schließen / erneut zu öffnen?