IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

créer repertoire avec date du jour


Sujet :

C

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut créer repertoire avec date du jour
    bonjour !
    Je cherche à créer un répertoire qui est nommé par la date du jour...
    Si vous avez des pistes, je suis preneur...
    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 217
    Points : 105
    Points
    105
    Par défaut
    Voila du code qui créé un fichier en fonction du temps :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    	// Création du fichier historique
     
    	HANDLE hFind;
    	WIN32_FIND_DATA FindFileData;
    	SYSTEMTIME Time;
    	TCHAR NomFichier [64]; 
    	DWORD Tmp;
     
    	hFind = FindFirstFile (RS232_RAPPORT_DOSSIER, &FindFileData);
    	if (hFind == INVALID_HANDLE_VALUE) {
    		if (CreateDirectory (RS232_RAPPORT_DOSSIER, NULL) == 0) {
    			MessageErreurWindow (hWnd, _T("Impossible de créer le répertoire de traçage."), _T("Fonction RS232_Initialisation()"), TRUE);
    			return EXIT_FAILURE;}
    	} else if (!(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
    			MessageErreurWindow (hWnd, _T("Un petit malin veut faire planter intentionnellement le programme."), _T("Fonction RS232_Initialisation()"), FALSE);
    			return EXIT_FAILURE;
    	}
     
    	// Crée le fichier
    	GetLocalTime (&Time);
    	if (
    		_stprintf_s (NomFichier, 64, _T("%s\\hist_%02d_%02d_%02d__%02d_%02d_%02d.txt"),
    			RS232_RAPPORT_DOSSIER, Time.wDay, Time.wMonth, Time.wYear%100, Time.wHour, Time.wMinute, Time.wSecond)
    		== -1
    	){
    		MessageErreurWindow (hWnd, _T("Erreur dans la création du fichier (100)."), _T("Fonction RS232_Initialisation()"), FALSE);
    		return EXIT_FAILURE;
    	}
    	if ((Rapport = CreateFile (NomFichier, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) == INVALID_HANDLE_VALUE){
    		MessageErreurWindow (hWnd, _T("Erreur dans la création du fichier (200)."), _T("Fonction RS232_Initialisation()"), TRUE);
    		return EXIT_FAILURE;
    	}
    	WriteFile (Rapport, RS232_RAPPORT_ENTETE, RS232_RAPPORT_ENTETE_TAILLE * sizeof (TCHAR), &Tmp, NULL);
    	WriteFile (Rapport, _T("Début du rapport des communications RS232.\r\n"), 44 * sizeof (TCHAR), &Tmp, NULL);
    En gros : GetLocalTime() + sprintf() = la puissance!

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Un conseil: Mettre l'année sur quatre chiffres et non deux.

    De plus, pour un meilleur tri des fichiers, utiliser un format année-mois-jours est recommandé (typiquement AAAA-MM-JJ)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 217
    Points : 105
    Points
    105
    Par défaut
    Tout à fait exact.
    J'avais du pondre ce code en vitesse, et j'avais pas fait attention à ça.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    merci pour ces réponses !
    J suis débutant en c. J'ai copié collé le code mais toutes les lignes buggent.
    Je créé mes codes en C sur dev-c++
    Merci

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 217
    Points : 105
    Points
    105
    Par défaut
    Oui, forcement, on ne peut pas copier-coller des lignes comme ça...
    Ce dont tu as besoin se présenterai un peu comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SYSTEMTIME Time;
    char NomDossier[64];
    GetLocalTime (&Time);
    sprintf (NomDossier, "%04d_%02d_%02d.txt", Time.wYear, Time.wMonth, Time.wDay);
    CreateDirectory (NomDossier, NULL);
    Je n'ai pas testé, mais dans la logique c'est ça. Par contre il n'y a pas de test d'erreur.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <malloc.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    #include <math.h>
     
    main()
    {
    SYSTEMTIME Time;
    char NomDossier[64];
    GetLocalTime (&Time);
    sprintf (NomDossier, "%04d_%02d_%02d.txt", Time.wYear, Time.wMonth, Time.wDay);
    CreateDirectory (NomDossier, NULL);
    return;
    }
    ca bloque direct à la 1ere ligne.

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    • SYSTEMTIME est un type Windows.
    • GetLocalTime() et CreateDirectory() sont des fonctions Windows également
      • Donc, il faut inclure <windows.h>
    • main() retourne un int. Toujours
    • <malloc.h> n'est pas standard. malloc() est déclarée dans stdlib.h

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    ok merci pour ces précisions...cependant ce code va tourner sur dos donc pas de librairie windows.h possible...
    Connaitriez-vous une autre méthode ?
    Encore merci pour vos réponses !

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    en fait en ecumant un peu mieux les pages du net, j'ai trouvé comment faire via un fichier.bat
    Mais je ne sais pas comment le lancer à la fin de mon code en c.
    Merci à vous !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 138
    Points : 72
    Points
    72
    Par défaut
    bon...c'est promis, j'arrête de poser des questions pour rien...
    Merci à vous

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Citation Envoyé par captaine93 Voir le message
    ok merci pour ces précisions...cependant ce code va tourner sur dos
    Avec Dev-C++? Impossible.

    MinGW ne fait que du code pour Windows. Il ne faut pas confondre "DOS" et "Windows Console".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] requete avec date du jour - 30
    Par le69 dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 31/01/2013, 15h38
  2. Créer un répertoire avec date du jour
    Par yzf-r dans le forum Langage
    Réponses: 8
    Dernier message: 08/02/2010, 19h27
  3. [XL-2002] fonction SI avec date du jour
    Par polynesian turtle dans le forum Excel
    Réponses: 3
    Dernier message: 16/10/2009, 12h13
  4. WSS 3.0 Comment mettre une colonne avec date du jour
    Par aurel80 dans le forum SharePoint
    Réponses: 5
    Dernier message: 31/07/2009, 15h12
  5. [DeskI V5-V6] Requete avec date du jour - 6 mois
    Par lecowboydetchernobyl dans le forum Débuter
    Réponses: 17
    Dernier message: 30/04/2009, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo