2012-05-28 90 views
0

我正在寫一個文本編輯器在gtk + 2.0中& gtksourceview 2.0。目前我正在使用gtk_text_buffer_get_textg_file_set_contents將文本緩衝區保存到文件中。我在文檔g_file_set_contents看到它說:gtk +保存文件,同時保留linux中的文件權限

此外,由於文件被重新創建,現有的權限,訪問控制列表,元數據等可能會丟失。

我環顧了devhelp和Google,無法找到另一種方法將文本緩衝區保存到文件中,同時保留文件權限。任何想法如何實現這一目標?謝謝。

+0

打開文件的模式,'截斷'(清空)它,然後寫出文本緩衝區? – ptomato

回答

0

作爲@ptomato建議使用截斷文件的方法,然後寫出文本緩衝區按要求工作。這裏是一段代碼,它適用於我:

gtk_text_buffer_get_end_iter(tbuffer,&end_iter); 
gtk_text_buffer_get_start_iter(tbuffer,&start_iter); 
text = gtk_text_buffer_get_text(tbuffer,&start_iter,&end_iter,FALSE); 
    FILE *fp; 
    fp=fopen(path, "w"); 
    fprintf(fp, "%s", text); 
    fclose(fp); 
相關問題