Bonjour,
Je veux détecter (dans un thread) si un fichier de type XML est déposé dans un répertoire donné.
Pourriez-vous m'aider?
Merci!
Version imprimable
Bonjour,
Je veux détecter (dans un thread) si un fichier de type XML est déposé dans un répertoire donné.
Pourriez-vous m'aider?
Merci!
Salut,
je suis pas sûr de comprendre ce que tu veux dire mais tester l'existence d'un fichier c'est par là https://cpp.developpez.com/faq/cpp/?...e-d-un-fichier
Je pense que tu souhaites faire ce que fait cette classe de Qt : http://doc.qt.io/qt-5/qfilesystemwatcher.html#details
La question maintenant est : souhaites-tu utiliser Qt ? :lol:
Bonjour,
Sous Linux, c'est à travers "inotify" que l'on peut avoir l'information de manière dynamique (et je pense que c'est sur quoi Qt repose pour Linux).
Pour Windows de base (Win32)
https://msdn.microsoft.com/en-us/lib...or=-2147217396
_[w]access_s(), mais il faut connaitre le nom du fichier.
https://msdn.microsoft.com/en-us/library/a2xs1dts.aspx
En combinant avec _[w]findfirst() et _[w]findnext(), ça ne devrait pas être trop compliqué.
Merci!
Comment savoir le nom du fichier changé, renommé ou supprimé à partir de la fonction FindFirstChangeNotification ?
Merci!
D'après la MSDN
Citation:
This function does not indicate the change that satisfied the wait condition. To retrieve information about the specific change as part of the notification, use the ReadDirectoryChangesW function.
Merci!
Le problème je n'arrive pas à trouver la solution:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 String filename; DWORD dwWaitStatus; HANDLE dwChangeHandles[2]; TCHAR lpDrive[4]; TCHAR lpFile[_MAX_FNAME]; TCHAR lpExt[_MAX_EXT]; EffaceTrace(); _tsplitpath(RepertoireFichierImport.c_str(), lpDrive, NULL, lpFile, lpExt); lpDrive[2] = (TCHAR)'\\'; lpDrive[3] = (TCHAR)'\0'; // regarder le répertoire uniquement dwChangeHandles[0] = FindFirstChangeNotification (RepertoireFichierImport.c_str(), // le répertoire FALSE, // on regarde pas le sous répertoire FILE_NOTIFY_CHANGE_FILE_NAME); // changement de nom de fichier // je cherche une fonction qui détecte le nom du fichier renomé