|
|
1
12
检查权限的可移植方法是尝试打开文件并检查是否成功。如果没有,以及
Iostreams的工作方式会有所不同。好吧,他们不保证
正如杰里·科芬所写, 不要依赖单独的访问测试功能 因为你的程序很容易出现竞速和安全漏洞。 |
|
|
2
5
关于唯一合理的事情是尝试创建文件,如果失败,告诉用户有问题。任何提前测试的尝试,并且只有在您能够创建和写入文件时才尝试创建文件,它会打开,以解决竞赛条件(检查时有权限,但在尝试使用时已删除,反之亦然)和角点案例(例如,您已经 许可 在该目录中创建文件,但尝试在该目录中写入将超过磁盘配额)。唯一知道的方法就是尝试。。。 |
|
|
3
3
实际测试文件写入权限的最正确方法是尝试写入文件。原因是不同的平台以非常不同的方式公开写权限。更糟糕的是,仅仅因为操作系统告诉您可以(或不能)写入一个文件,它实际上可能在撒谎,例如,在unix系统上,文件模式可能允许写入,但文件在只读介质上,或者相反,文件实际上可能是由内核创建的供进程自己使用的字符设备,因此尽管它的filemodes被设置为全零,但是内核允许该进程(并且只有该进程)随意地使用它。 |