GTK分段错误

时间:2012-05-14 09:44:26

标签: c gtk gtk3

我是GTK +的新手,当我尝试编译程序时出现分段错误错误。我已将错误原因分解为以下代码行。

      GtkTextBuffer *buffer; 
      char buffers[65535];
      struct ip  *ip;          
      .
      .
      .
      ip = (struct ip *)buffers;
      gtk_text_buffer_insert_at_cursor (buffer,ip->ip_protocol, -1);

(ip_protocol是struct ip中的变量)

我正在尝试在textview的光标处插入使用指针位于“buffers”中的char的值“ip_protocol”。不幸的是,在这种情况下我必须使用指针。任何人都可以帮助纠正我的代码?

1 个答案:

答案 0 :(得分:1)

您永远不会初始化buffer变量(或buffers的内容),因此当您传递gtk_text_buffer_insert_at_cursor时,其值是未定义的。在将它传递给函数之前,你需要指向一个GtkTextBuffer(根据你的评论你在你遗漏的代码部分初始化你的变量,所以这段不是适用于您的真实代码。)

此外,您说您的ip_protocol变量是char,但gtk_text_buffer_insert_at_cursor的第二个参数应该是指针。因此,这会导致分段错误并不足为奇。