在我們平時的程式設計時,經常需要判斷檔案或者目錄是否存在,相對來說判斷檔案的存在性比較簡單,目錄則比較複雜。
下面就詳細的介紹幾種方法。
首先關於判斷檔案的存在性:
一、ifstream
在c++中,可以利用ifstream檔案輸入流,當我們直接使用ifstream來建立檔案輸入流的時候,如果檔案不存在則流建立失敗。
ifstream fin("hello.txt");
if (!fin)
三、_access
當然c中還有一種方式是直接呼叫c的函式庫。
就是函式 int _access(const char* path,int mode);
這個函式的功能十分強大。
可以看看msdn的詳細介紹
這三種方式算是判斷檔案存在比較簡單快捷的方法了。
現在來說說判斷目錄存在的一些方法。
一、findfirstfile
在c++中可以呼叫系統的一些函式,但這種方法稍微顯得複雜一些。
二、_stat()
現在介紹乙個輕量級的方法
在windows中可以使用_stat() 函式。
宣告:int _stat(const char* path, struct _stat* buffer);
這個函式使用起來非常方便,如下:
struct_stat filestat;
if ((_stat(dir.c_str(), &filestat) == 0) && (filestat.st_mode &_s_ifdir))
_s_ifdir 是乙個標誌位,如果是目錄的話,該位就會被系統設定。
在linux底下也有相對應的函式stat();
使用方法基本相同:
structstat filestat;
if ((stat(dir.c_str(), &filestat) == 0) &&s_isdir(filestat.st_mode))
唯一不同的地方我使用了乙個macro, s_isdir來判斷檔案是否存在,原理實際都一樣的。上面就是自己使用過的幾種判斷檔案和目錄存在性的一些經驗了,希望對大家有所幫助。
關於C 中如何判斷檔案,目錄存在的若干方法
出處 在我們平時的程式設計時,經常需要判斷檔案或者目錄是否存在,相對來說判斷檔案的存在性比較簡單,目錄則比較複雜。下面就詳細的介紹幾種方法。首先關於判斷檔案的存在性 一 ifstream 在c 中,可以利用ifstream檔案輸入流,當我們直接使用ifstream來建立檔案輸入流的時候,如果檔案不存...
關於C 中如何判斷檔案,目錄存在的若干方法
出處 在我們平時的程式設計時,經常需要判斷檔案或者目錄是否存在,相對來說判斷檔案的存在性比較簡單,目錄則比較複雜。下面就詳細的介紹幾種方法。首先關於判斷檔案的存在性 一 ifstream 在c 中,可以利用ifstream檔案輸入流,當我們直接使用ifstream來建立檔案輸入流的時候,如果檔案不存...
關於C 中如何判斷檔案,目錄存在的若干方法
下面就詳細的介紹幾種方法。首先關於判斷檔案的存在性 一 ifstream 在c 中,可以利用ifstream檔案輸入流,當我們直接使用ifstream來建立檔案輸入流的時候,如果檔案不存在則流建立失敗。ifstream fin hello.txt if fin 三 access 當然c中還有一種方式...