Bonjour à tous,

(Quasiment) Tout est dans le titre .

Je créer un fichier temporaire auquel j'associe un attribut pour le cacher.
A la fin de mon programme, je souhaite supprimer ce fichier.

Seulement je n'y arrive pas. Dans la msdn, il est spécifié que remove() ne va pas pouvoir supprimer un fichier en read-only mais rien n'est précisé pour un fichier caché.

J'ai testé avec remove() et DeleteFile(), meme resultat.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
//creation
string toto="name";
ofstream* _oStlFile=new ofstream(toto.c_str(), ios::binary);
SetFileAttributes(toto.c_str(),FILE_ATTRIBUTE_HIDDEN);
 
//suppression
int dbg=1;
dbg=remove(toto.c_str());//-1 = error
dbg=DeleteFile(toto.c_str());//0 = error
Quand je supprime la ligne "SetFileAttributes...", je peux le supprimer.

Une solution crado serait de retirer l'attribut jsute avant d'effacer le fichier mais bon ça ne me plait guère. De plus, je ne sais même pas comment faire .

Si quelqu'un a la solution...

Merci par avance.