File Creation Time
-
Hallo zusammen,
ich habe ein kleines Problem und zwar möchte bei einer Datei abprüfen, wann sie angelegt wurde. Funktioniert soweit auch, aber folgendes Problem: Ich habe eine Datei mit dem Namen error12.csv, wurde am 12.November erstellt. Wenn ich heute die Creation time dieser Datei abprüfe, bekomme ich auch den 12.November zurück. Daraufhin lösche ich die Datei und lege eine neue Datei mit dem Namen error12.csv an. Als Creation time bekomme ich aber immer noch das Datum des 12.November zurück. Wie kann das sein, bzw. was gibt es für Methoden, um zu prüfen, ob z.B ein File mit Namen error12.csv am heutigen Tag angelegt wurde und ich Daten hinzufügen kann, oder ob das File vom 12. des vorherigen Monats war und ich das File löschen un neu anlegen muss?
Mfg
-
Wie "löschst" du denn die Datei? Wenn du sie nur mit ios::trunc öffnest, bleibt die Datei physisch bestehen und nur ihr Inhalt wird ersetzt. Das heißt, um die Datei für's System zu löschen, mußt du auch Funktionen des Betriebssystems verwenden.
Wenn du portabel sein willst, könntest du auch IN der Datei vermerken, wann sie angelegt wurde (z.B. indem du das Datum ganz an den Anfang setzt).
fstream datei(name.c_str(),ios::in|ios::out|ios::append); string datum = ...; //heutiges Datum ermitteln und in Textform umwandeln string fdatum; datei>>fdatum; if(fdatum!=datum) { //Datei ist nicht von heute datei.open(ios::out|ios::trunc); datei<<datum<<endl; } else { //Datei ist aktuell ... }
-
Die Datei wird mit der Funktion "_wremove(....)" gelöscht? Welche Funktion sollte man verwenden um die Datei zu löschen?
-
tst
-
Hat jemand vielleicht noch einen (anderen) Vorschlag, warum dieses Problem auftritt, bzw. wie man dies beheben kann?
Danke
-
Ich suche auch eine Antwort auf diese Frage... Ich habe es bereits über die Funktin SetFileTime versucht abern keinen Erfolg gehabt... ich bin aber etwas entäuscht für ein Forum dieser Art eine Antwort wie von Hardis zu lesen...
Ich hoffe es hat noch jemand anders eine sinnvolle antwort bzw. erklärung oder idee auf die Frage... von tolste oder mirDanke, snabernick
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Wie ermittelst Du denn das "File Creation Time"?
Hoffentlich über die "WIN32_FIND_DATA" Sruktur und dem "ftCreationTime" Member!
-
Hallo, ich habe die File Creation Time aus einem File ausgelesen. Ist das File älter als der aktuelle Tag soll es gelöscht werden und ein neues gleichlautendes erstellt werden. Ich habe es über die WIN32_FIND_DATA Strucktur mit FindNext versucht. Weiters habe ich versucht die Zeit mit Hilfe der SetFileTime Funktion zu setzen.
Ein anderer Versuch war es ein File mit eindeutigen Namen (aktuelles Datum) zu erstellen und den Namen des erstellten Files in den des gelöschten Files umzubenennen. Das Resultat war immer das Selbe. Die File Creation Time blieb immer die Alte. Hat jemand eine Erklärung dafür ??