目錄本文介紹的是freecplus框架的目錄操作函式和類。
函式和類的宣告檔案是freecplus/_freecplus.h。
函式和類的定義檔案是freecplus/_freecplus.cpp。
示例程式位於freecplus/demo目錄中。
編譯規則檔案是freecplus/demo/makefile。
在linux下,如果想建立乙個"/tmp/aaa/bbb/ccc/ddd/data.xml"的檔案,必須先建立"/tmp/aaa/bbb/ccc/ddd",步驟如下:
1)如果"/tmp"目錄不存在,建立"/tmp"。
2)如果"/tmp/aaa"目錄不存在,建立"/tmp/aaa"。
3)如果"/tmp/aaa/bbb"目錄不存在,建立"/tmp/aaa/bbb"。
4)如果"/tmp/aaa/bbb/ccc"目錄不存在,建立"/tmp/aaa/bbb/ccc"。
5)如果"/tmp/aaa/bbb/ccc/ddd"目錄不存在,建立"/tmp/aaa/bbb/ccc/ddd"。
6)建立"/tmp/aaa/bbb/ccc/ddd/data.xml"檔案。
這些操作雖然沒有多少技術含量,但也很煩人。
mkdir函式根據絕對路徑的檔名或目錄名逐級的建立目錄。
函式宣告:
bool mkdir(const char *pathorfilename,bool bisfilename=true);
引數說明:
pathorfilename:絕對路徑的檔名或目錄名。
bisfilename:說明pathorfilename的型別,true-pathorfilename是檔名,否則是目錄名,預設值為true。
返回值:true-建立成功,false-建立失敗,如果返回失敗,原因有大概有三種情況:1)許可權不足;2)pathorfilename引數不是合法的檔名或目錄名;3)磁碟空間不足。
示例(demo30.cpp)
/*
* 程式名:demo30.cpp,此程式演示freecplus框架中採用mkdir函式根據絕對路徑的檔名或目錄名逐級的建立目錄。
*/#include "../_freecplus.h"
int main()
freecplus框架把獲取某目錄及其子目錄中的檔案列表資訊的功能封裝成cdir類。
類的宣告:
// 獲取某目錄及其子目錄中的檔案列表資訊。
class cdir
;
cdir類的成員變數和函式的說明文字在類的宣告中已詳細描述。
我們通過乙個應用場景來演示cdir類的用法。
先執行以下指令碼生成測試目錄和檔案。
mkdir /tmp/root
mkdir /tmp/root/aaa
mkdir /tmp/root/bbb
cd freecplus
cp freecplus.* /tmp/root/.
cp demo/demo1* /tmp/root/aaa/.
cp demo/demo2* /tmp/root/bbb/.
cp demo/makefile /tmp/root/bbb/.
執行以上指令碼後,在/tmp/root目錄中的目錄和檔案列表如下:
示例(demo32.cpp)
/*
* 程式名:demo32.cpp,此程式演示freecplus框架中採用cdir類獲取某目錄及其子目錄中的檔案列表資訊。
*/#include "../_freecplus.h"
int main()
while(dir.readdir()==true)
}
執行效果
注意事項:
1)每次呼叫readdir方法後,把cdir類其它成員變數的值輸出到螢幕,觀察執行效果。
2)opendir方法的in_matchstr引數非常重要,在實際開發中應用廣泛。
3)如果檔名圓點"."打頭,opendir方法將不讀取這些檔案,如果您希望讀取這些檔案,可以修改_opendir方法中的源**。
4)openddir方法的in_maxcount引數設定了每次掃瞄目錄中的檔案數量,建議不超過10000,如果取值過大,開啟目錄的時間會比較長,還會消耗比較多的記憶體。
5)opendir的bsort引數設定是否對m_vfilename容器進行排序,排序會消耗資源和時間,可以不排序就不排序。
freecplus框架 日誌檔案操作
本文介紹的是freecplus框架中日誌檔案操作的方法。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefile。對...
freecplus框架 xml解析
本文介紹的是採用freecplus框架的解析xml格式字串函式。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefi...
freecplus框架 xml解析
本文介紹的是採用freecplus框架的解析xml格式字串函式。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefi...