您的位置:首页 > 编程语言 > Go语言

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圖形元件結合的檔案讀取程式。

BloggerAds 廣告

我上班你在玩…照片隨傳超羨慕
出國一落地就傳照片炫耀!手機上網每日$199,40MB任你用、照片心情馬上傳!出國玩,就要讓全世界知道!
更多訊息..
把握最後優惠!

民眾搶當有車族
日圓升值,三菱本月不漲價,買車再送 HTC 智慧型手機,新車新機一次到手,GO!
更多訊息..




Impr

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: