Créer un fichier dont le nom inclue la date [Résolu/Fermé]

Signaler
Messages postés
40
Date d'inscription
dimanche 4 juillet 2010
Statut
Membre
Dernière intervention
2 juin 2014
-
Messages postés
40
Date d'inscription
dimanche 4 juillet 2010
Statut
Membre
Dernière intervention
2 juin 2014
-
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^^



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
Messages postés
40
Date d'inscription
dimanche 4 juillet 2010
Statut
Membre
Dernière intervention
2 juin 2014

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.
Un nom de fichier ne peut pas contenir le caractère :
Enlève l'heure de ton nom...
Messages postés
40
Date d'inscription
dimanche 4 juillet 2010
Statut
Membre
Dernière intervention
2 juin 2014

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
Messages postés
40
Date d'inscription
dimanche 4 juillet 2010
Statut
Membre
Dernière intervention
2 juin 2014

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 :)