Erstellungsdatum direkt als Dateinamen verwenden
-
Hallo,
ich möchte Dateien erzeugen, die als Dateinamen jeweils ihr Erstellungsdatum haben. Ich kann ja eine Datei erzeugen, ihr irgendeinen Namen geben und dann über rename diese Datei umbenennen. Meine Frage ist jetzt, ob ich auch direkt einen veränderlichen String als Erstellungsnamen verwenden kann bzw. wie ich das anstelle!?
Vielen Dank im Voraus!
-
Und warum nimmst du nicht einfach die aktuelle Zeit als Dateiname? Dazu gibt es feine Funktionen in der time.h-Datei.
-
habs hinbekommen wie ich es wollte, ich poste mal meinen "Beispielcode"
#include <stdio.h> #include <stdlib.h> #include <time.h> void fkt(char *name) { time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); strftime (name,35,"%d_%m_%Y_%H%M.txt",timeinfo); return; } int main() { char name[35]; FILE* datei; fkt(name); puts(name); datei = fopen(name,"a+"); if(datei == NULL) { printf("\nerror!\n"); fclose(datei); } fclose(datei); return 0; }
-
Damit hat die Datei aber den aktuellen Zeitpunkt zum aufruf der time()-Funktion (wie ich vorschlug), nicht den Zeitpunkt wann die Datei erstellt wurde (wie du es in deinem ursprünglichen Posting wolltest).
-
ja, das ist absolut richtig, aber ich habs mir eben nochmal überlegt und diese Form des Dateinamens ist für meine Zwecke am sinnvollsten
-
chmbw schrieb:
...und diese Form des Dateinamens ist für meine Zwecke am sinnvollsten
ich finde den vorschlag ja nicht schlecht, würde aber einfach einen unix timestamp nehmen statt mir da so ein "komisches" für computer unverständliches datum zu formatieren.