Linux C判斷檔案是否為目錄或者是普通檔案

2021-07-26 14:06:57 字數 770 閱讀 6770

主要函式: stat(),opendir(),readdir(),

主要結構體:struct dirent  和 struct stat

主要巨集:s_isdir(),     s_isreg()

函式 stat()用於獲取乙個檔案路徑的資訊,並把獲取到的資訊放到結構體 struct stat 中

函式 opendir()用於生成乙個目錄指標dir

函式readdir()用於讀取目錄指標 dir 中的資訊,返回的值為乙個 struct dirent 結構體

結構體struct dirent 用於儲存乙個目錄的屬性。這裡用到的只是該結構體的 d_name 成員,用於儲存目錄下的檔名

結構體 struct stat 用於儲存 乙個檔案路徑的資訊

巨集s_isdir()用於判斷乙個檔案路徑是不是乙個目錄,是則返回1,否則返回0

巨集s_isreg()用於判斷乙個檔案路徑是不是乙個普通檔案,是則返回1,否則返回0

下面給出**:

#include #include #include #include #include #include int main(int argc, char const *argv)

/*判斷是否為普通檔案*/

if(s_isreg(s_buf.st_mode))

}} /*若輸入的檔案路徑是普通檔案,則列印並退出程式*/

else if(s_isreg(s_buf.st_mode))

return 0;

}

shell 判斷檔案 目錄是否為空

剛開始寫shell,很多都不會在網上東找找西找找.判斷檔案目錄是否為空 第一種 emptydir.sh bin sh directory 1 if ls a directory then echo directory is indeed empty else echo directory is no...

Python 判斷路徑是否為目錄或檔案

os.path.isdir os.path.isfile os.listdir os.walk os.path.isdir 函式 判斷某一路徑是否為目錄 os.path.isdir path os.path.isfile 函式 判斷某一路徑是否為檔案 os.path.isfile path path...

C 判斷檔案是否為空

在 頭部引入 system.io 命名空間 第一種方法 using filestream fs new filestream c a.txt filemode.open 第二種方法 fileinfo fi new fileinfo c a.txt if fi.length 0 相比之下,第二種方法更...