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