目前我正在做它喜歡:如何獲得以字節爲單位的GtkTextBuffer的確切大小?
GtkTextBuffer *buf = gtk_text_view_get_buffer(...);
gtk_text_buffer_get_bounds(buf, &start, &end);
gchar *data = gtk_text_buffer_get_text(buf, &start, &end, true);
gint size = strlen(data); // ouch
但是,這是相當醜陋。我發現(並測試)gtk_text_iter_get_offset()
但它返回字符的大小,而不是物理字節。
'\ 0'_is not_valid UTF-8:http://www.mail-archive.com/[email protected]/msg08985.html 某些GTK + API尚未提供長度參數以允許嵌入NUL字節。 – ntd 2009-12-21 19:37:17
@ntd:有趣。但是是否可以鍵入(或以其他方式導致)一個NUL字節出現在GtkTextBuffer中? – unwind 2009-12-25 17:06:51
@unwind:我不知道,NUL處理仍然是一個懸而未決的問題。我懷疑嵌入一個NUL字節,儘管有效的UTF8,無論如何將打破大量的代碼。我的評論比實際更具學術性。 – ntd 2010-01-06 16:06:49