GTK Gossip: 目錄資訊
2010-12-10 15:01
393 查看
如果您要取得目錄的資訊,可以使用GDir及其相關的函式,您可以使用g_dir_open()函式指定一個目錄路徑,這會傳回GDir物件,接著您可以使用g_dir_read_name()讀取目錄下的檔案名稱。
直接來看個範例,下面這個程式示範如何從命令列引數輸入要查詢的目錄,並顯示該目錄下的內容:
dir_demo.c
在程式中,g_build_filename()可以協助建立檔案路徑名稱,您可以指定目錄或檔案名稱,最後以一個NULL作
為結尾,g_build_filename()會自行依作業系統,使用適當的目錄分隔符號(Linux下的/或Windows下的/),建立完整的檔案或
目錄路徑。
一個執行的範例如下所示:
另外還有幾個簡便的檔案操作函式,像是g_rename()可更改檔案名稱,g_remove()可移除檔案,g_rmdir()可刪除目錄,g_mkdir()可建立目錄等,這些都可以在 File Utilities
中查詢到使用方式。
直接來看個範例,下面這個程式示範如何從命令列引數輸入要查詢的目錄,並顯示該目錄下的內容:
dir_demo.c
#include <glib.h> void listDir(const gchar *parent, int hier) { const gchar *file, *fullPath; GDir *dir; int i; dir = g_dir_open(parent, 0, NULL); while((file = g_dir_read_name(dir))) { for(i = 0; i < hier; i++) { g_print(" "); } fullPath = g_build_filename(parent, file, NULL); if(g_file_test(fullPath, G_FILE_TEST_IS_DIR)) { g_print("[%s]/n", file); listDir(fullPath, hier + 1); } else { g_print("%s/n", file); } } g_dir_close(dir); } int main(int argc, char *argv[]) { listDir(argv[1], 0); return 0; }
在程式中,g_build_filename()可以協助建立檔案路徑名稱,您可以指定目錄或檔案名稱,最後以一個NULL作
為結尾,g_build_filename()會自行依作業系統,使用適當的目錄分隔符號(Linux下的/或Windows下的/),建立完整的檔案或
目錄路徑。
一個執行的範例如下所示:
$ dir_demo ~/library [hibernate-3.2] build.bat build.sh build.xml changelog.txt [doc] [api] allclasses-frame.html allclasses-noframe.html constant-values.html deprecated-list.html help-doc.html index-all.html index.html jdstyle.css [org] [hibernate] [action] ..略 |
中查詢到使用方式。
相关文章推荐
- GTK Gossip: 環境資訊
- GTK Gossip: Ubuntu 下安裝 GTK
- GTK Gossip: GtkButton 與 GtkToggleButton
- GTK Gossip: GtkTreeView 與 GtkTreeStrore
- GTK Gossip: GtkRuler
- GTK Gossip: 第一個 GTK 程式
- GTK Gossip: 影像及文字按鈕
- GTK Gossip: GtkAssistant
- GTK Gossip: Windows 下第一個 GTK 程式
- GTK Gossip: GtkCheckButton 與 GtkRadioButton
- GTK Gossip: GtkPaned
- GTK Gossip: GTK 的物件導向架構
- GTK Gossip: GtkMessageDialog
- GTK Gossip: GtkAlignment、GtkFixed 與 GtkLayout
- GTK Gossip: GtkDrawingArea
- GTK Gossip: 使用 Signal 关闭视窗
- GTK Gossip: GLib 基本型態與巨集
- GTK Gossip: 自訂 callback 函式
- GTK Gossip: GtkColorButton 與 GtkColorSelectionDialog
- GTK Gossip: GtkHandleBox