在C++中锁定和解锁文件

Lock and Unlock the file in C++

本文关键字:解锁 文件 锁定 C++      更新时间:2023-10-16

在Windows操作系统中,在我的C++应用程序中,我必须保护已经存在的整个文件,并且我应该能够对该文件进行读写操作。

在关闭文件之前,我应该保护该文件,以便除了我的应用程序或任何用户之外无法访问该文件?

如何在C++实现这一目标?

我正在使用

FILE * fp;
fp = fopen ("file.txt", "w+");

提前谢谢。

>C++不提供文件锁定或文件安全功能,因此您必须依赖平台API。在Windows中,打开文件时是LockFileEx((和UnlockFileEx((,关闭文件时是文件安全性和访问权限。

也就是说,Windows中的安全性是一个非常复杂的主题,因此您应该描述您要实现的目标。我认为您需要禁止其他应用程序读取您的文件,因此在这种情况下,您必须使用密码加密文件。

我不认为使用标准 C 或 C++ 或直接使用FILE*对象是可能的。话虽如此,Windows具有LockFileUnlockFile的API,您可以使用fcntl在Posix系统上实现相同的目标