如何使用C在Windows中的文件上安装只读锁

时间:2011-04-04 04:48:35

标签: c windows file locking

我需要在Windows中的某个文件上用C创建一个只读锁。锁定函数完全没用,因为它创建了一个独占锁。我需要保护文件不受写入影响,但多个进程应该能够同时读取它。

我不能使用CygWin或MINGW库,我仅限于Microsoft API,它似乎没有像样的fcntl。或者我错过了什么?

2 个答案:

答案 0 :(得分:3)

如果你指的是一个临时时期,那么使用带有dwShareMode = FILE_SHARE_READ的CreateFile(),否则使用SetFileAttributes()

答案 1 :(得分:0)

如果要锁定文件的一部分,请使用LockFileEx