C 判斷某一路徑是目錄還是檔案

2021-08-18 23:51:14 字數 586 閱讀 4103

有時候需要根據路徑是目錄還是檔案執行不同的操作,那麼在c/c++中如何判斷某個路徑是目錄還是檔案呢?

可以利用stat函式和結構體

stat的函式宣告如下

int _stat( 

const char *path, 

struct _stat *buffer  

);

引數:path——檔案或者資料夾的路徑

buffer——獲取的資訊儲存在記憶體中

返回值:

正確——返回0

錯誤——返回-1,具體錯誤碼儲存在errno中

_stat結構體是檔案(夾)資訊的結構體,定義如下:

struct stat ;

從上面的解釋可以得到如下的例子

#include struct stat s;

char* path = "myfile.txt";

if (stat(path,&s)==0){

if(s.st_mode & s_ifdir){

std::cout<<"it's a directory"<

刪除某一路徑下所有檔案

想刪除某一路徑之下所有檔案 刪除檔案,insus.net 寫了2個方法,名稱一樣,過載而已。原理簡單,即是迴圈指定路徑下所有目錄和子目錄來進行刪除檔案。過載的方法,帶多乙個引數。是想刪除幾天前的檔案,根擾檔案的建立日期來判斷。高亮的一行,insus.net是想這個資料不管使用這個方法,輸入乙個正數或...

刪除某一路徑下所有檔案

想刪除某一路徑之下所有檔案 刪除檔案,insus.net 寫了2個方法,名稱一樣,過載而已。原理簡單,即是迴圈指定路徑下所有目錄和子目錄來進行刪除檔案。過載的方法,帶多乙個引數。是想刪除幾天前的檔案,根擾檔案的建立日期來判斷。高亮的一行,insus.net是想這個資料不管使用這個方法,輸入乙個正數或...

計算某一路徑下的所有目錄或是檔案數量

計算某一路徑下的所有目錄或是檔案數量,可以參考下面 示例 不管是計算目錄或理檔案,2個方法均帶2個引數,前者是傳入的是物理路徑,第二個傳的是布林值的引數,即是說可以計算是否包含子目錄。目錄 public static int directorycount string physicalpath,bo...