On me donne un fichier binaire (considérons le grand) et plusieurs blobs binaires, que je devrais insérer/remplacer quelque part au milieu du fichier (les offsets sont connus).Comment changer le contenu du fichier automatiquement?
Le même utilisateur peut accéder au fichier, donc je dois avoir "tout de rien", soit l'utilisateur a une ancienne version du fichier si elle l'ouvre avant que j'ai tout mis à jour, ou elle a une nouvelle version si j'ai réussi.
Je suis intéressant dans les solutions pour Linux, Windows et OS X. Bien sûr, la mise en œuvre peut être différente.
Votre question est un peu rare dans les détails. Comment ouvrez-vous le fichier? Créez-vous une application? Lorsque le fichier est ouvert, est-ce toujours via notre application? Quelle langue utilisez-vous? –
Oui, je crée une application. Je suppose que le langage spécifique n'a pas d'importance, alors considérons C++. Mon application sait si quelqu'un ouvre le fichier via inotify/WinAPI. – galadog
Voir: http://stackoverflow.com/questions/4662115/is-an-atomic-rename-possible-in-mac-vfs-hfs et http://stackoverflow.com/a/660679/371250 – ninjalj