回答
你很可能需要在stat()
function.
例子:
struct stat attr;
stat("/home/crazyfffan/foo.txt", &attr);
printf("Size: %u\n", (unsigned)attr.st_size);
printf("Permissions: %o\n", (int)attr.st_mode & 07777);
printf("Is directory? %d\n", attr.st_mode & ST_ISDIR);
等
最後一行沒有編制,而不是我用: '的printf( 「是目錄%d \ n嗎?」,S_ISDIR(attr.st_mode));' – 2012-08-01 22:11:33
@crazyfffan是的,對不起,更新。 – 2012-08-01 22:34:48
使用stat
系統調用。 man 2 stat
。
你會得到一個結構,包括你在找什麼。
從手冊頁:
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 */
};
過目在有關確定使用st_mode
領域的文件類型的詳細信息手冊頁的例子;這裏是如何使用POSIX宏檢查isDirectory
/isFile
:
isDirectory = S_ISDIR(statBuf.st_mode);
isFile = S_ISREG(statBuf.st_mode);
struct stat file_stats;
fd = open(filename, O_RDONLY);
if (fd == -1) {
exit(-1);
}
if (fstat(fd, &file_stats) < 0) {
exit(-1);
}
if (S_ISDIR(file_stats.st_mode)) {
printf("It is dir\n");
} else {
snprintf(msg, PATH_MAX, "%lld, %ld, %o, %d, %d, %d, %lld, %ld, %ld, %ld, %ld, %ld,
%ld\n",
file_stats.st_dev,
file_stats.st_ino,
file_stats.st_mode,
file_stats.st_nlink,
file_stats.st_uid,
file_stats.st_gid,
file_stats.st_rdev,
file_stats.st_size,
file_stats.st_blksize,
file_stats.st_blocks,
file_stats.st_atime,
file_stats.st_mtime,
file_stats.st_ctime);
}
沒有關於這些字段是什麼的描述,這並不像它可能的那樣有幫助。 – 2012-08-01 19:10:56
- 1. 如何使用C讀取Linux中文件的vfat屬性C
- 2. 從excel中讀取文件夾和任何文檔屬性?
- 3. linux bash工具從屬性文件中讀取屬性
- 4. 如何從Class文件夾外部讀取java中的屬性文件?
- 5. 如何獲取Android資產文件夾中的文件屬性?
- 6. 如何從文件夾外讀取屬性文件如果我將屬性文件聲明爲config.properties
- 7. 如何更新sharepoint shareddocument文件夾中的文件夾屬性
- 8. 如何讀取屬性文件?
- 9. 如何從HDF5文件讀取屬性?
- 10. 如何從屬性文件讀取值?
- 11. 如何在j2me中讀取文件的屬性/屬性
- 12. 從屬性文件讀取
- 13. JSP屬性文件讀取
- 14. 讀取屬性文件
- 15. 在讀取屬性文件
- 16. linux文件屬性
- 17. Windows 7中的文件和文件夾只讀屬性問題
- 18. JavaScript:讀取文件夾中的文件
- 19. 讀取文件夾中的文件
- 20. 如何從wsdl文件內的屬性文件讀取?
- 21. 如何在Linux中讀取INI文件
- 22. 讀取Pyspark中的屬性文件
- 23. 讀取Servlet中的屬性文件
- 24. 如何讀取文件夾中的所有txt文件? (包括子文件夾)
- 25. 如何讀取父文件夾和子文件夾中的特定文件(.xml)
- 26. 如何從文件夾中讀取WEB-INF文件夾外部的文件?
- 27. 如何從python中的多個文件夾中讀取文件
- 28. 如何讀取Xamarin中資產文件夾中的.lcf文件
- 29. 從文件夾中讀取文件
- 30. tidytext從文件夾中讀取文件
http://en.wikipedia.org/wiki/Stat_%28system_call%29的 – 2012-08-01 18:57:39
可能重複[如何獲得類似文件的信息「LS -la」 用C?(http://stackoverflow.com/questions/7943220/how-to-get-file-information-similar-to-ls-la-using-c) – 2012-08-01 18:58:06
良好的文檔在這裏,我會討厭看到這個關閉作爲重複.. – 2012-08-01 19:13:06