Bonjour,
Mon but est de détecter la création d'un fichier dans un répertoire donné.
Pour cela j'utilise la méthode suivante issue de la FAQ :
Cette méthode fonctionne très bien.
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 #include <stdio.h> #include <dirent.h> int main (void) { DIR * rep = opendir ("."); if (rep != NULL) { struct dirent * ent; while ((ent = readdir (rep)) != NULL) { printf ("%s\n", ent->d_name); } closedir (rep); } return 0; }
Un autre programme crée dans ce répertoire surveillé avec la méthode fopen un fichier, y copie des informations, puis ferme le fichier.
Donc la méthode ci-dessus peut s'apercevoir de la création du fichier avant que mon deuxième programme n'ai fini d'écrire dedans.
D'après ce que j'avais compris, readdir n'intervient pas sur l'accés aux fichiers, il détecte juste leur présence.
Donc en remplaçant le printf par un fopen et un test de du retour de fopen, je dois être en mesure de n'ouvrir le fichier que lorsque mon autre programme le ferme non ?
Est ce que quelqu'un serait capable de me confirmer ces propos ?
Je le remercie d'avance.
Partager