在Windows OS的C ++应用程序中,我必须保护已经存在的整个文件,并且我应该能够对该文件进行读写操作。
在关闭文件之前,我应该保护文件,以便除我的应用程序或任何用户之外的其他用户无法访问该文件?
如何在C ++中实现这一目标?
我正在使用
FILE * fp;
fp = fopen ("file.txt", "w+");
谢谢。
答案 0 :(得分:2)
C ++不提供文件锁定或文件安全功能,因此您必须依赖Platform API。 在Windows中,打开文件时为LockFileEx()和UnlockFileEx(),关闭文件时为File Security and Access Rights。
也就是说,Windows中的安全性是一个非常复杂的主题,因此您应该描述您要实现的目标。我认为您需要禁止其他应用读取文件,因此在这种情况下,您必须使用密码对文件进行加密。
答案 1 :(得分:0)
我认为使用标准C或C ++或直接使用FILE*
对象是不可能的。话虽这么说,Windows具有LockFile
和UnlockFile
API,并且您可以使用fcntl