Bonjour à tous,

je voudrais créer une fonction qui me sauvegarde un fichier toutes des x secondes. Je m'explique:

Dans mon appli, j'utilise un fichier (CStdioFile) A que je manipule fréquemment.
J'ai un Timer qui lance la fonction OnTimer toutes les x millisecondes.
Donc, je voudrais mettre dans OnTimer, une fonction qui fait une sauvegarde de mon fichier A, sous un autre nom (B).
J'ai donc essayé la méthode CFile:uplicate, et voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
//dans les inits:
CStdioFile A;
A.Open("monfichier.txt", CFile::modeWrite, pErr); //j'ai également essayé avec CFile::modeReadWrite
...
 
//dans OnTimer():
A.Close(); //je ferme A par sécurité, mais si je ne le fais pas, ça ne change rien
CFile* B = A.Duplicate();
B->Rename(B->GetFileName(), "monfichier_save.txt");
...
A.Open("monfichier.txt", CFile::modeWrite, pErr);
Et j'obtiens plusieurs "unhandled exceptions", sur la ligne A.Duplicate(), dont je ne parviens pas à identifier la source.
La doc sur CFile:uplicate() est très succinte, je ne comprend pas ce qui cloche.

Merci.