Créer un fichier dont le nom inclue la date

Résolu/Fermé
hazelia Messages postés 40 Date d'inscription dimanche 4 juillet 2010 Statut Membre Dernière intervention 2 juin 2014 - 11 juil. 2011 à 09:31
hazelia Messages postés 40 Date d'inscription dimanche 4 juillet 2010 Statut Membre Dernière intervention 2 juin 2014 - 11 juil. 2011 à 11:08
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^^



A voir également:

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hazelia Messages postés 40 Date d'inscription dimanche 4 juillet 2010 Statut Membre Dernière intervention 2 juin 2014
11 juil. 2011 à 11:08
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 :)
0