0
我遇到S_ISXXX(m)
宏麻煩S_ISXXX(M)宏從sys/stat.h
麻煩與SYS/stat.h
具體幾乎所有被報告爲目錄。只有普通文件才能正常報告爲常規文件,鏈接,設備,fifo,全部都被報告爲目錄。
我錯過了什麼,或者這是一般的錯誤?
下面的代碼,應該是相當簡單的(對不起,捷克文本,但你應該明白我的意思,即使沒有認識到:)
int listdir(const char *path)
{
struct dirent *polozka;
DIR *dir;
dir = opendir(path);
if (dir == NULL)
{
perror("nepovedlo se otevrit adresar");
return -1;
}
while((polozka = readdir(dir)))
{
struct stat info;
lstat(polozka->d_name,&info);
puts(polozka->d_name);
if (S_ISREG(info.st_mode))
puts("\tObycejny soubor");
if (S_ISDIR(info.st_mode))
puts("\tAdresar");
if (S_ISCHR(info.st_mode))
puts("\tZnakove zarizeni");
if (S_ISBLK(info.st_mode))
puts("\tBlokove zarizeni");
if (S_ISFIFO(info.st_mode))
puts("\tPojemenovana roura");
if (S_ISLNK(info.st_mode))
puts("\tSymbolicky link");
if (S_ISSOCK(info.st_mode))
puts("\tSocket");
}
closedir(dir);
return 0;
}
我不認爲他們是越野車 - 顯示你的代碼! – 2011-05-10 09:59:45
@Tamás這是代碼。 – 2011-05-10 10:02:18