Bonjour à tous!
Je crois que je n'ai jamais fait un titre si peu claire, mais là je ne trouvais pas dsl!
Voici ma question:
prenons un logiciel (ex vim). Avec celui-ci je lis un fichier. Si avec un autre logiciel, je modifie ce fichier, alors Vim me proposera de re-charger le fichier.
Mais justement, comment font les logiciels pour faire ça.
Je sais (enfin, je pense...)qu'ils regardent la date de modif du fichier, et si elle est différente que ce que pense Vim, alors c'est qu'un autre logiciel la utilisé, donc on propose de recharger la page.
Donc un algo serait le suivant:
1) j'ouvre le fichier f1
2) on crée un fichier temporaire ftempo dans lequel j'écris la date de modif du fichier f1
3)si la date de modif du fichier f1 (que je connais puisque je l'ai écrite dans ftempo) n'est pas celle que j'attend: un prog exterieur a modifier mon fichier
4) afficher un message s'il faut recharger le fichier
PROBLEME:
le problème de cet algo, c'est qu'il est exécuté une unique fois, donc on ne vérifie pas régulièrement si le fichier à été modifié par un autre programme
SOLUTIONS:
je ne vois que 2 solutions:
1)soit on mets un timer et toute les secondes, on lance notre notre algo ci-dessus=> on perds du temps et des ressources processeur juste pour vérifier une date
2)soit, il y a une interruption, et lorsque le fichier f1 est modifié alors un signal est envoyé au programme (ex Vim) et celui-ci propose de le recharger
3soit il y à une autre méthode mais je ne vois pas laquelle.
Selon vous, comment fait-on en C pour faire ce genre de chose?
En espérant avoir été clair dans mes explications
Par avance merci
Partager