28 votes

Comment être averti de fichier/répertoire changement en C/C++, idéalement à l'aide de POSIX

Le sujet dit tout - normalement facile et de la croix-plate-forme façon est d'interroger, de façon intelligente. Mais chaque OS a des moyens de s'informer sans interrogation. Est-il possible dans un lieu raisonnablement de la croix-plate-forme de la sorte? (Je ne vraiment soin sur Windows et Linux, mais j'utilise le mac, j'ai donc pensé que posix peut aider?)

29voto

aku Points 54867

Les utilisateurs de Linux peuvent utiliser inotify

inotify est un sous-système du noyau Linux qui fournit le système de fichiers de l'événement la notification.

Quelques goodies pour Windows boursiers:

19voto

David Dibben Points 7968

La bibliothèque Qt a un QFileSystemWatcher classe qui fournit une plate-forme de notifications lorsqu'un fichier est modifié. Même si vous n'êtes pas à l'aide de Qt, parce que la source est disponible, vous pourriez avoir un coup d'oeil à un échantillon de votre propre mise en œuvre. Qt a des implémentations distinctes pour Windows, Linux et Mac.

2voto

macbirdie Points 9417

Il y a Événements de Système de Fichiers de l'API de Léopard.

1voto

Chris Jester-Young Points 102876

Je ne pense pas que POSIX lui-même dispose d'installations pour que. Le plus proche de croix-plate-forme, j'ai vu, c'est de la GPA, qui semble fonctionner pour Linux, BSD, et Irix, mais je ne suis pas comment il serait facile de port pour Windows et MacOS.

0voto

paleozogt Points 2553

libevent ou libev semblent être ce que vous voulez, bien que je n'ai pas utilisées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X