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 :

Fichier utilisé par deux fonctions en écriture


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 46
    Points : 34
    Points
    34
    Par défaut Fichier utilisé par deux fonctions en écriture
    Bonjour à tous,
    J'essaie d'écrire dans un même fichier texte, avec 2 fonctions. La 1ère ouvre le fichier en écriture, passe l'adresse à la 2ème pour y écrire d'autres données (date/heure), puis enfin, celle qui avait ouvert le fichier reprend la main pour y ajouter des données.
    J'obtiens un message d'access violation. Je ne comprends pas pourquoi je violerais quelque chose puisque j'utilise bien la transmission par adressage. Voici le petit code:

    #include <stdio.h>
    #include <ctime>
    const char *NomJrSem[] = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"};

    const char *NomMois[] = {"janvier", "fevrier", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"};

    const char *FichLog = "calculatrice.log";

    void Memoire:H_Operation(FILE **PFich){ // Date/heure de l'opération
    char *ChTps = "";

    time_t timestamp;
    struct tm * t;

    timestamp = time(NULL);
    t = gmtime(&timestamp);

    Compt_Op++;

    /* Affiche la date et l'heure courante (format francais) */
    fprintf(*PFich, "%s %02u %s %04u %4u", NomJrSem[t->tm_wday], NomJrSem[t->tm_mday], NomMois[t->tm_mon], (1900 + t->tm_year));

    fprintf(*PFich, "%02u%s%02u%s%02u", t->tm_hour, ":", t->tm_min, ":", t->tm_sec);

    // Affiche le rang de l'opération: Ex: Opération1 -
    fprintf(*PFich, "%s%d %s", "Opération", Compt_Op, " - ");
    }

    void Memoire::Historique(double nbr1, char *oper, double nbr2, double nb_res){
    FILE *PtrFichier;

    PtrFichier = fopen(FichLog, "w");

    DH_Operation(&PtrFichier);

    fprintf(PtrFichier, "\n%.2lf %s %.2lf %s %.2lf", nbr1, oper, nbr2, "=", nb_res);

    fclose(PtrFichier);
    }
    Je vous remercie d'avance de vos éclaircissements.

    Noël

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 170
    Points : 12 291
    Points
    12 291
    Par défaut
    Quelle ligne ?!?
    "d'access violation" : volation d'accès en mémoire, en claire, pointeurs foireux.

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

Discussions similaires

  1. copier un fichier utilisé par une processus xp
    Par jvnet dans le forum Windows XP
    Réponses: 2
    Dernier message: 26/08/2007, 23h20
  2. Réponses: 3
    Dernier message: 27/02/2007, 20h35
  3. [JNI] Fichier utilisé par un autre processus
    Par Julaie95 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 10/08/2006, 11h39
  4. [C#][VS2003] Détecter 1 fichier utilisé par un processus
    Par gregos dans le forum Windows Forms
    Réponses: 9
    Dernier message: 17/11/2005, 15h37
  5. Erreur "Fichier utilisé par un autre processus"
    Par solo3326 dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2005, 16h55

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