datei sperren mit _lock_file



  • konsolenprogramm ruft _lock_file(fp); http://msdn.microsoft.com/en-us/library/8w5bsb4f(v=vs.80).aspx
    auf und wartet auf benutzereingabe. fp ist ein zeiger auf eine simple textdatei.
    zwischendurch starte ich notepad und öffne diese textdatei um zu testen, ob sie
    auch tatsächlich gesperrt ist -> pustekuchen, sie lässt sich mit notepad öffnen,
    ändern uns speichern. ich hätte erwaretet, das _lock_file das verhindert.
    was mach ich falsch? 😕



  • msdn schrieb:

    The _lock_file function locks the FILE object specified by file. The underlying file is not locked by _lock_file.

    http://msdn.microsoft.com/en-us/library/8w5bsb4f.aspx
    ...in älteren Versionen steht fälschlicherweise noch "Locking a file prevents access to the file by other processes", vllt. hat sich in neueren Runtimes auch die Semantik geändert.

    Bei CreateFile() könnte man über dwShareMode direkt was angeben (bzw. nichts angeben), welche Möglichkeiten man mit fopen() hat weiss ich leider nicht...



  • geeky schrieb:

    ...in älteren Versionen steht fälschlicherweise noch "Locking a file prevents access to the file by other processes"

    darum dachte ich ja auch ich gucke nicht richtig, als sich die datei dann doch ändern lies! 😮 😃

    danke für den tipp.


Log in to reply