我看到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. 測試磁盤是否具有寫入權限
- 6. 有什麼方法可以確定它是否是測試(.NET)?
- 7. 什麼是測試解析的json地圖是否相等的好方法?
- 8. SVN是否跟蹤文件所有權和權限?
- 9. 什麼是正確的WordPress的文件系統權限和所有權
- 10. Cocos2d有什麼好的測試工具?
- 11. 什麼是Pairwise測試,是否需要特殊軟件?
- 12. Linux創建指向文件的鏈接所需的最低權限是什麼?
- 13. 測試是否使用casperjs評估/準備好所需的JavaScript文件
- 14. Android,Espresso。是否有可能,並且從另一個測試方法調用一種測試方法是否好?
- 15. 什麼是最好的方法或測試網站兼容性
- 16. 什麼是測試登錄頁面的好方法?
- 17. 什麼是對FormattedText執行命中測試的好方法?
- 18. 什麼是測試Dom笨重js的好方法?
- 19. 什麼是測試JavaScript的最好方法?
- 20. 什麼是單元測試NSDateFormatter的好方法?
- 21. 什麼是數據庫單元測試的好方法
- 22. 文件/文件夾權限和所有權打破了WordPress的功能,什麼是安全解決方案?
- 23. 什麼是最好的方法有URL
- 24. 什麼是使用OpenRemoteBaseKey所需的權限?
- 25. 如何測試.net程序所需的所有.dll文件是否可用?
- 26. 是否有一個工具來檢查一組sql所需的最低權限?
- 27. 什麼是所有文件
- 28. 檢查用戶是否具有查看文件夾權限
- 29. 什麼是在AngularJS E2E測試中測試位置變化的好方法
- 30. 測試命令行工具的最佳方法是什麼?
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