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 un fichier dans un dossier


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut Créer un fichier dans un dossier
    Bonjour à tous,

    J'ai codé une fonction qui crée ou écrit à la fin d'un fichier à nom variable.
    Jusque là rien de sorcier ^^
    Mais il faut que je crée ou modifie ce fichier qui doit être contenu dans un dossier nommé AQUAVAL_FIC.
    Je travaille sous un système OS9000, c'est pour mon projet de BTS.
    Quelqu'un pourrait-il m'indiquer la marche à suivre ?
    Voici mon code :

    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
    void cSequenceur::entreeJournal (char* module, char* evenement)
    {
      //- Pré-traitement -     
        FILE      *journal ; // variable destiner à contenir l'adresse du fichier journal
        char 		 nomFic[20] ; // variable destiner à contenir le nom du   fichier journal
        time_t     t ; 
        struct tm *date ;
        char       heure[10] ;
      
          t=time(NULL);
          date = localtime(&t);
    
          sprintf(nomFic, "%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon, date->tm_mday) ;
          sprintf(heure, "%02d:%02d:%02d", date->tm_hour, date->tm_min, date->tm_sec);
    
          journal = fopen(nomFic, "a+") ;
    
    // Traitement
          if(journal != NULL) //on verifie si on y arrive 
          {
      	  fprintf(journal, "%s;%s;%s\n", module, evenement, heure);
    
    //- post-traitement - 
            fclose(journal); 
          }
    }
    Merci d'avance pour vos conseils !!

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Mais il faut que je crée ou modifie ce fichier qui doit être contenu dans un dossier nommé AQUAVAL_FIC.
    Je travaille sous un système OS9000, c'est pour mon projet de BTS.
    Quelqu'un pourrait-il m'indiquer la marche à suivre ?
    Voici mon code :
    Mais... le nomFic serait selon toutes attente le chemin du fichier non?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Oui en effet, j'ai essayé de mettre le chemin d'accès dans cette chaine.
    Mais OS9000 ne veux même pas lancer mon programme lorsque je modifie nomFic !!

    Il me met "Error #106:014 (T_PAGFAULT) [PC-Vector 0x0e] Page fault"

  4. #4
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    "module" et "evenement" sont des chaines valides?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Oui oui, pour l'écriture dans le fichier il n'y a pas de problème.
    Mais le souci c'est que le cahier des charges indique que les fichiers doivent être dans un répertoire.
    Et quand je modifie la chaine nomFic le système me renvoi une erreur.
    Voici tout ce que j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sprintf(nomFic, "AQUAVAL_FIC\%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon...
    sprintf(nomFic, "AQUAVAL_FIC\\%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon...
    sprintf(nomFic, "AQUAVAL_FIC/%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon...
    sprintf(nomFic, "AQUAVAL_FIC//%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon...
    sprintf(nomFic, "/AQUAVAL_FIC/%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon...
    Mais rien ne marche

  6. #6
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Est-ce que le dossier AQUAVAL_FIC existe et a les droits suffisants?
    Est-ce que le programme est lancé depuis le repertoire qui contient AQUAVAL_FIC ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,

    Dans ton code, tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        char          nomFic[20] ; // variable destiner à contenir le nom du   fichier journal
    Tu réserves donc 19 caractères (+ le zéro final) pour ta chaîne, et tu veux y mettre quelque chose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf(nomFic, "AQUAVAL_FIC//%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon...
    soit au minimum 29 caractères (si j'ai bien compté), et en tout cas plus de 19 !!
    Compilation sans erreur ne signifie pas programme sans erreur.
    L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Gruik
    Est-ce que le programme est lancé depuis le repertoire qui contient AQUAVAL_FIC ?
    Pour le programme, non il n'est pas lancé du répertoire AQUAVAL_FIC, il est lancé du répertoire père (répertoire racine du système).
    Et pour les droits dessus, tout le monde à tous les droits.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par thewho
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf(nomFic, "AQUAVAL_FIC//%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon...
    soit au minimum 29 caractères (si j'ai bien compté), et en tout cas plus de 19 !!
    Pour la taille, merci, je n'avais pas fait attention ^^

    J'ai essayé cette écriture pour nomFic, mais ça ne marche pas.

  10. #10
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par naevaj
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void cSequenceur::entreeJournal (char* module, char* evenement)
    Pas du C.
    Pas de Wi-Fi à la maison : CPL

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    C'est un modérateur qui a redirigé ma demande vers ce forum, moi je l'avai mise dans forum C++ ^^

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    J'ai réussi à créer mon fichier dans le répertoire AQUAVAL_FIC en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf(nomFic, "AQUAVAL_FIC\\%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon, date->tm_mday) ;
    Merci à tous pour vos conseils ^^

  13. #13
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Je croyais que tu l'avais essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sprintf(nomFic, "AQUAVAL_FIC\\%d%02d%02d.journal", 1900+date->tm_year, 1+date->tm_mon...

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

Discussions similaires

  1. Créer un fichier dans un sous-dossier
    Par Biotik dans le forum C++
    Réponses: 2
    Dernier message: 15/07/2010, 10h10
  2. [VBA-E]Compter nombre de fichier dans un dossier
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/05/2006, 14h36
  3. [Upload] upload de fichier dans un dossier creer en ligne
    Par jeanfrancois dans le forum Langage
    Réponses: 1
    Dernier message: 20/03/2006, 14h09
  4. Réponses: 7
    Dernier message: 05/01/2006, 01h06
  5. Pb de comptage de fichiers dans un dossier
    Par oz80 dans le forum Access
    Réponses: 2
    Dernier message: 15/11/2005, 14h26

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