我看到ifstream :: open()返回void,并且不提供任何方法来查看文件是否由于权限而未打开。什么是一个好的API来测试读取权限还是写入权限在C++中的当前进程的文件上可用?什么是测试文件是否具有所需权限的好方法?
2
A
回答
2
尝试POSIX访问()函数,在unistd.h中
2
您还可以使用stat
返回一大堆信息,包括模式,UID和GID:
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device ID (if special file) */
off_t st_size; /* total size, in bytes */
blksize_t st_blksize; /* blocksize for file system I/O */
blkcnt_t st_blocks; /* number of 512B blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */
};
我不知道用于这些低级函数的很好的C++包装器。
1
如果您在使用Windows,您可以使用GetFileAttributesEx来检查文件的属性。如果它是只读的,则可能需要调用SetFileAttributes以取消设置只读标志。
相关问题
- 1. 什么是识别控件以设置权限的好方法?
- 2. C#测试用户是否有写入文件夹的权限
- 3. 什么是测试用户是否有权访问某些文件的有效方法?
- 4. 测试磁盘是否具有写入权限
- 5. 有什么方法可以确定它是否是测试(.NET)?
- 6. Linux创建指向文件的链接所需的最低权限是什么?
- 7. 测试是否使用casperjs评估/准备好所需的JavaScript文件
- 8. Android,Espresso。是否有可能,并且从另一个测试方法调用一种测试方法是否好?
- 9. 什么是单元测试NSDateFormatter的好方法?
- 10. 什么是测试登录页面的好方法?
- 11. 什么是对FormattedText执行命中测试的好方法?
- 12. 什么是数据库单元测试的好方法
- 13. 什么是测试JavaScript的最好方法?
- 14. 如何测试.net程序所需的所有.dll文件是否可用?
- 15. 是否有一个工具来检查一组sql所需的最低权限?
- 16. 什么是所有文件
- 17. 测试命令行工具的最佳方法是什么?
- 18. 什么是递归设置文件权限的Python方式?
- 19. 什么是好的GUI测试仪?
- 20. 什么是删除UIScrollView的所有子视图的好方法?
- 21. 什么是测试自定义视图的onMeasure/onLayout/onDraw方法的好方法?
- 22. 如何检测我是否具有CREATE TABLE权限?
- 23. Docker正在更改文件所有权和权限,为什么?
- 24. 检测isIpad是否更好的方法?
- 25. 什么是单元测试模板化C++方法/类/函数的好方法?
- 26. 什么是测试ReactJS中使用的非反应组件的好方法?
- 27. 什么是GWT最好的自动化Web测试工具?
- 28. 什么是最好的Selenium工具来自动化测试?
- 29. 什么是最好的负载测试工具?
- 30. MFC是否有很好的自动化测试工具?
I/O是操作系统特定的,也许如果你能告诉我们你的操作系统,它可能会给出更具体的答案。 – 2009-12-11 02:30:17
可能的重复:http://stackoverflow.com/questions/1138508/in-c-on-unix-how-can-a-process-tell-what-permissions-it-has-to-a-file-without- op – 2009-12-11 17:58:06
这是针对Linux的。 – WilliamKF 2009-12-12 00:30:33