Inhalt einer Datei löschen



  • Hallo,

    folgendes Prob:

    ich hab ne Datei wo ich Textgespeichert habe. Ich möchte nun den inhalt einfach löschen.

    quelly sieht o aus

    case 50:
    
    		system("cls");
    		fp=fopen("db.dat","r");
    
    		i=0;
    		while(fgets(ausgabe,10,fp)!=NULL)
    		{
    			fputs(ausgabe,stdout);
    			i++;
    		}
    
    		fclose(fp);
    		printf("\nAnzahl Eintraege: %d",i/2);
    		printf("\nFortfahren beliebige Taste\n"); menu=_getch();
    
    case 51:
    		system("cls");
    		fclose(fp);
    			printf("Sind Sie sich sicher? - j\n");
    		//	test=getch();
    		//if(test=='j')
    		//{
    			remove ("db.dat");
    			printf("Erfolgreich geloescht!");
    		//}
    
    goto START;
    

    kann mir einer sagen warum das nich funktioniert.

    Also wenn das so stimmt, un ich dort keinen Fehler gemacht habe, dann poste ich den gesamten quelltext.

    PS: ich bin mir bewusst das ich die datei lösche, aber mir is keine andere möglichkeit eingefallen.



  • Du könntest es mit _unlink() probieren, ist dann aber windowsspezifisch 😉



  • Du kannst den Inhalt der Datei einfach löschen indem du

    FILE *xy;
    xy = fopen("dateiname.xyz", "w");
    

    schreibst.

    EDIT:

    "r" Öffnen einer Datei zum Lesen. Wenn die Datei nicht existiert oder nicht geöffnet werden konnte, gibt fopen() NULL zurück.

    "w" Anlegen einer Datei zum Ändern. Wenn die Datei nicht geändert werden kann bzw. wenn keine Schreibberechtigung besteht, liefert hier fopen() NULL zurück. Wenn unter Windows/MS-Dos die Datei ein Readonly-Attribut hat, kann diese nicht geöffnet werden.

    "a" Öffnet die Datei zum Schreiben oder Anhängen ans Ende der Datei. Wenn die Datei nicht vorhanden ist, liefert fopen() wieder NULL zurück. Auch NULL wird zurückgeliefert, wenn keine Zugriffsrechte bestehen.

    "r+" Öffnet die Datei zum Lesen und Schreiben, also zum Verändern. Bei Fehlern oder mangelnden Rechten liefert fopen() auch hier NULL zurück.

    "w+" Anlegen einer Datei zum Ändern. Existiert eine Datei mit gleichem Namen, wird diese zuvor gelöscht. Bei Fehlern oder mangelnden Rechten liefert fopen() hier NULL zurück.

    "a+" Öffnen einer Datei zum Lesen oder Schreiben am Ende der Datei bzw. die Datei wird angelegt, falls noch nicht vorhanden. Bei Fehlern oder mangelnden Rechten liefert fopen() NULL zurück.



  • Datei löschen: remove()
    Dateiinhalt löschen: fopen(datei, "w"); und dann mit fclose() gleich wieder schließen



  • kewl, danke et funtz jetzt 🙂

    thx 👍

    [OT -ON] :xmas1: :xmas2: [OT -OFF]


Anmelden zum Antworten