文件锁定 C 编程
大家好,我正在使用归档制作一个程序,我知道如何在文件中读取和写入。但是请有人帮助我了解 C 编程中的文件读写锁。例如如何插入锁以及如何释放它,特别是在分叉。请给出一个小例子或教程,因为我没有在 c 中提交任何有关文件锁的信息,
谢谢
Hello every one I am making a program using filing I know how to read an write in a file .But please can any one help me about the file read write locks in C programming.Like how to insert lock and how to release it especially in forking .Please any give a small example or a tutorial as i didn't file any thing about file locks in c
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
文件锁定不是 C 的一部分,而是依赖于操作系统。既然你谈论分叉,我假设你正在使用 UNIX 或类 UNIX 系统(例如 Linux 或 BSD)。
在这种情况下,你可以使用
flock
或lockf
函数。这些锁在分叉时保留,这意味着如果在分叉之前在父进程中获取了锁,则多个进程可以对同一文件拥有独占锁。在 Windows 上,可以在 CreateFile 调用中指定,或者稍后使用 LockFile 或 LockFileEx 函数指定。
File locking is not part of C, but is dependent on the operating system. Since you talk abour forking I assume you are using UNIX or a UNIX-like system (e.g. Linux or BSD.)
In that case you can use the
flock
orlockf
functions. These locks are preserved on forking, which means that multiple processes can have an exclusive lock to the same file if the lock was acquired in the parent process before the fork.On Windows it can be specified in the
CreateFile
call, or later with theLockFile
orLockFileEx
functions.