我是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”。不幸的是,在这种情况下我必须使用指针。任何人都可以帮助纠正我的代码?
答案 0 :(得分:1)
您永远不会初始化(根据你的评论你在你遗漏的代码部分初始化你的变量,所以这段不是适用于您的真实代码。)buffer
变量(或buffers
的内容),因此当您传递gtk_text_buffer_insert_at_cursor
时,其值是未定义的。在将它传递给函数之前,你需要指向一个GtkTextBuffer
。
此外,您说您的ip_protocol
变量是char
,但gtk_text_buffer_insert_at_cursor
的第二个参数应该是指针。因此,这会导致分段错误并不足为奇。