GtkTextBuffer
- это не массив символов, это объект GTK, который нельзя просто напечатать в виде текста.
Вам необходимо извлечь из него текст, если вы хотите напечатать его или записать в file.
Для этого вам нужно получить пару GtkTextIter
объектов, а затем использовать gtk_text_buffer_get_text
.
Обратите внимание, что если у вас не символы Engli sh в вашем тексте у вас все еще могут быть проблемы с использованием printf
, поскольку полученный текст имеет кодировку UTF-8.
Вот пример кода:
GtkTextIter start, end;
gchar *text;
gtk_text_buffer_get_start_iter(textview_1, &start);
gtk_text_buffer_get_end_iter(textview_1, &end);
text = gtk_text_buffer_get_text(textview_1, &start, &end, FALSE);
printf("%s\n",text);
g_free(text); //you need to clean up this buffer!