Wie lösche ich den gesamten Inhalt einer Datei in C?
Lesezeit: 2 Minuten
Mudschahed
Ich habe eine Datei mit einigen Daten von Benutzer1. Ich möchte dieselbe Datei für Benutzer2 verwenden, indem ich den Inhalt der Datei lösche.
Meine Idee ist, dass, wenn ein neuer Benutzer kommt, die Daten des vorherigen Benutzers klar sein sollten und dieselbe Datei für den neuen Benutzer bereit sein sollte.
binW
Wie @stefan sagte mit fopen() mit “w”-Modus erledigt die Arbeit für Sie. Wenn Sie eine Datei mit dem Flag “w” öffnen, wird eine leere Datei zum Schreiben erstellt. Wenn bereits eine Datei mit demselben Namen existiert, wird ihr Inhalt gelöscht und die Datei wird als leere neue Datei behandelt.
Wenn die Datei bereits geöffnet ist, können Sie sie verwenden freopen() Funktion von stdio.h mit dem “w”-Modus, da sie zuerst die Datei schließt und sie dann zum Schreiben wieder öffnet und löscht, was zuvor in der Datei war.
Wird die Datei für eine Datei mit 0666-Berechtigungen immer noch ihre 666-Berechtigungen behalten oder wird umask ins Spiel kommen und sie auf 644 setzen. Im Wesentlichen versuche ich zu wissen, ob sie den Inhalt der Datei löscht oder die Datei löscht und neu erstellen mit dem gleichen Namen (in diesem Fall würde es mit 644 gemacht werden)
– Sam Thomas
29. Mai 2018 um 21:12 Uhr
Stefan
mit fopen(filename, flag) öffnen Sie es einfach mit flag= "w" oder "wb" und es wird gelöscht
danke stefan , aber ich möchte die DATEI FORCEFULLY löschen (explizit)
– Mujahid
27. Januar 2011 um 10:42 Uhr
ok gy!! aber während prog. Exekutive em Öffnen/Schließen (Anhängen) viele Male. ICH MÖCHTE DIE DATEI NUR LÖSCHEN, WENN IRGENDEINE Bedingung eintritt.
– Mujahid
27. Januar 2011 um 11:00 Uhr
@mujahid: Dann öffnen Sie es normal, BIS diese Bedingung eintritt, an welcher Stelle Sie es mit öffnen können w oder wb Flagge. Wenn Sie möchten, können Sie es sofort schließen, und öffnen Sie es dann, wenn Ihr Code normal ausgeführt wird, zum Anhängen.
– Binäre Sorge
27. Januar 2011 um 11:02 Uhr
@mujahid: Kein Grund zu schreien, wir können dich hören 🙂
– rjnilsson
27. Januar 2011 um 11:27 Uhr
Eduard Karak
fclose(fopen("file.txt", "w"));
Warum das funktioniert:
schreiben: Erstellt eine leere Datei für Ausgabeoperationen. Wenn bereits eine Datei mit demselben Namen vorhanden ist, wird ihr Inhalt verworfen und die Datei als neue leere Datei behandelt.
1. fd=open(filename,O_RDONLY | O_WRONLY | O_TRUNC);
2. [cat /dev/null > filename] for BASH. It can be directly used in c program using [system()] system call.
system("cat /dev/null > filename");
Ich benutze:
fp=freopen(NULL,"w",fp);
13728200cookie-checkWie lösche ich den gesamten Inhalt einer Datei in C?yes