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