使用此处理程序捕获信号“ insert_text”后:
void completeQuotation(GtkTextBuffer *buffer, GtkTextIter *arg1, gchar *arg2, gint arg3, gpointer data)
{
if(*arg2 == '"')
completeQuote(buffer, arg1);
}
调用函数completeQuote()以便具有一对引号“”:
void completeQuote(GtkTextBuffer *buffer, GtkTextIter *arg)
{
const char *text = "\"";
gtk_text_buffer_insert(buffer, arg, text, -1);
}
但是,这会导致分段错误。我尝试了glib函数g_strescape()
甚至八进制转义序列“ \ x22”都没有成功。
奇怪的是,如果将转义序列“ \”替换为另一个字符,则可以正常工作...
那么,有什么解决办法吗?