Créer un fichier dont le nom inclue la date
Résolu
hazelia
Messages postés
41
Statut
Membre
-
hazelia Messages postés 41 Statut Membre -
hazelia Messages postés 41 Statut Membre -
Bonjour,
Mon programme doit créer chaque fois un fichier (de log), je veux que le nom chaque fichier issu d'une exécution de mon programme contient la date d'exécution de celui-ci. Je fais donc comme suit:
// ce bout de code convertit la date courante du système en chaine de caractères
// et l'ajoute dans le nom du fichier. L'extention est également ajoutée
string currentTime=ctime(¤t_time);
size_t t=currentTime.size();
currentTime.resize(t-1); // pour supprimer le retour à la ligne
logFileName="logFile_"+currentTime;
logFileName += ".txt";
Mais mon programme n'arrive pas à ouvrir le fichier en écriture....
Auriez-vous une idée de l'origine du problème?!!
Merci d'avance de me répondre^^
Mon programme doit créer chaque fois un fichier (de log), je veux que le nom chaque fichier issu d'une exécution de mon programme contient la date d'exécution de celui-ci. Je fais donc comme suit:
// ce bout de code convertit la date courante du système en chaine de caractères
// et l'ajoute dans le nom du fichier. L'extention est également ajoutée
string currentTime=ctime(¤t_time);
size_t t=currentTime.size();
currentTime.resize(t-1); // pour supprimer le retour à la ligne
logFileName="logFile_"+currentTime;
logFileName += ".txt";
Mais mon programme n'arrive pas à ouvrir le fichier en écriture....
Auriez-vous une idée de l'origine du problème?!!
Merci d'avance de me répondre^^
5 réponses
-
Bonjour
As-tu affiché LogFileName ?
Quel format de date utilises-tu ?
S'il y a des / dedans, c'est normal qu'il refuse, car les / l'envoient chercher dans des sous-répertoires qui n'existent sûrement pas -
Bonjour,
J'ai affiché le logFileName:
logFile_Mon Jul 11 09:38:45 2011.txt
J'ajoute par la suite le répertoire dans le quel je désire avoir ces fichiers, il est de type C:/Rep1/Rep2/logFileName.txt
Ce répertoire existe puisque j'envoie mes test d'exécution dedans. Il suffit que je supprime la date du nom de fichier pour que le fichier soit crée. -
-
J'ai besoin d'avoir l'heure dans mon nom de fichier. Y-t-il un moyen de convertir ou formater cette date de manière à ne pas contenir ce genre de caractères?!!
Merci d'avance -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re:Bonjour,
Voila, je viens de trouver comment avoir le format voulu sans ces caractères que ne sont pas acceptés dans un nom de fichier:
time_t current_time;
time(¤t_time);
struct tm * timeInformation;
char currentTime [100];
timeInformation = localtime ( ¤t_time );
strftime (currentTime,100,"%a_%b_%d_%Y_%H_%M_%S",timeInformation);
// conversion de char* vers string current_Time;
current_Time.assign(currentTime);
Ainsi logFileName est "logFile_Mon_Jul_11_2011_10_31_07.txt"
Merci pour l'aide :D et bonne journée :)