GTK Gossip: 基本檔案讀寫
2010-12-10 14:58
232 查看
若 要進行檔案的基本讀寫,您可以使用g_file_get_contents()、g_file_set_contents()函式,這兩個函式會對檔案作 整個讀取與整個寫入的動作。 以下直接以程式作為示範,您可以從命令列引數設定檔案來源與目的地,將檔案讀入,顯示在螢幕上並寫入另一個檔案: file_demo.c #include <glib.h> handle_error(GError *error) { if(error != NULL) { g_printf(error->message); g_clear_error(&error); } } int main(int argc, char *argv[]) { gchar *src, *dest; gchar *content; gsize length; GError *error = NULL; if(argc >= 3) { src = argv[1]; dest = argv[2]; } else { return 1; } if (!g_file_test(src, G_FILE_TEST_EXISTS)) { g_error("Error: File does not exist!"); } g_file_get_contents(src, &content, &length, &error); handle_error(error); g_print("%s/n", content); g_file_set_contents(dest, content, -1, &error); handle_error(error); g_free (content); return 0; } g_file_test()函式可以測試檔案的幾個狀態: G_FILE_TEST_IS_REGULAR: 不是符號連結檔或目錄 G_FILE_TEST_IS_SYMLINK: 符號連結檔 G_FILE_TEST_IS_DIR: 目錄 G_FILE_TEST_IS_EXECUTABLE: 可執行檔 G_FILE_TEST_EXISTS: 檔案是否存在 g_file_get_contents()可以指定檔案,將檔案讀入content中,並將長度讀入 length,如果讀取成功會傳回TRUE,失敗會傳回FALSE,錯誤相關資訊會設定給GError,而g_file_set_contents()的 使用類似,長度設定為-1表示寫入整個字串。 在 GtkTextView 中曾寫過一個與GTK圖形元件結合的檔案讀取程式。 |
Impr |
相关文章推荐
- GTK Gossip: GLib 基本型態與巨集
- GTK Gossip: GtkFileChooserButton 與 GtkFileChooserDialog
- GTK Gossip: GtkPaned
- GTK Gossip: GThread
- GTK 编程基本步骤
- GTK Gossip: GtkHBox 與 GtkVBox
- GTK Gossip: GtkAlignment、GtkFixed 與 GtkLayout
- GTK Gossip: Ubuntu 下安裝 GTK
- GTK Gossip: GtkDrawingArea
- GTK基本概念小结
- GTK Gossip: 第一個 GTK 程式
- GTK Gossip: GtkHandleBox
- GTK Gossip: Windows 下第一個 GTK 程式
- GTK Gossip: GtkMenuBar、GtkMenu 與 GtkMenuItem
- GTK Gossip: GTimer
- linux Gtk基本内容学习
- GTK Gossip: GTK 的物件導向架構
- GTK Gossip: GtkFrame 與 GtkButtonBox
- GTK Gossip: 環境資訊
- GTK Gossip: 使用 Signal 关闭视窗