GTK Gossip: 基本檔案讀寫

来源:互联网 发布:天猫魔盒安装直播软件 编辑:程序博客网 时间:2024/05/18 00:39
若要進行檔案的基本讀寫,您可以使用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圖形元件結合的檔案讀取程式。

   

BloggerAds 廣告我上班你在玩…照片隨傳超羨慕出國一落地就傳照片炫耀!手機上網每日$199,40MB任你用、照片心情馬上傳!出國玩,就要讓全世界知道!更多訊息..把握最後優惠!
民眾搶當有車族日圓升值,三菱本月不漲價,買車再送 HTC 智慧型手機,新車新機一次到手,GO!更多訊息..