2013-10-09 52 views
2

有誰知道使用GTK進行文件處理。我需要以「w +」模式打開一個文件並寫入它。我不知道GTK中是否存在文件處理。下面是一個我在GTK格式中需要的'C'程序示例。Gtk +使用C處理文件

#include <stdio.h> 

int main(int argc, char *argv[]) { 

int a = 5; 
float b = 3.14; 
FILE *fp; 

fp = fopen("test.txt", "w+"); 
fprintf(fp, " %d %f", a, b); 
fwrite(----); 
fclose(fp); 
} 
+0

GTK是一個圖形工具。您不在代碼中執行任何圖形操作。這只是簡單的C代碼。 –

+0

謝謝你的回答! :) – AhmetHani

+0

GTK +程序是純C程序的超集,所以如果上述代碼有效,我沒有看到任何理由去改變它。只有當您需要與主GTK +循環進行I/O集成時,Gio纔會有用。 – ntd

回答

6

我敢肯定,你的意思是GIO

#include <gtk/gtk.h> 

int main(int argc, char *argv[]) 
{ 
    gtk_init(&argc,&argv); 

    GFile *file=g_file_new_for_path("test.txt"); 
    GFileOutputStream *output=g_file_replace(
       file,NULL,FALSE, 
       G_FILE_CREATE_NONE, 
       NULL,NULL); 
    gint a=5; 
    gfloat b=3.14; 
    gchar *buf=g_strdup_printf(" %d %f",a,b); 
    g_output_stream_write(G_OUTPUT_STREAM(output), 
       buf,strlen(buf),NULL,NULL); 
    /* ----- */ 
    g_output_stream_close(G_OUTPUT_STREAM(output),NULL,NULL); 
    g_free(buf); 
    g_object_unref(output); 
    g_object_unref(file); 
    return 0; 
} 

我不會解釋任何功能,見GIO參考手冊(你知道Devhelp?)更多detials

0

如上所述,GTK用於用戶界面,並且您的代碼示例沒有圖形用戶界面。但是,您可以看一下GLib,GTK的基礎庫。 有file utilities功能,適合跨系統的便攜性,以及便攜式I/O channels