我試圖在Linux中添加一些綁定到Linux的表,在C.我打開一個文件「a」(追加,對吧?),然後試圖寫一些地址,但我總是得到分段錯誤。我相信有什麼毛病ARP_table[i].IPaddr, ARP_table[i].MACaddr, ARP_table[i].ARPstatus
寫入文件(fprintf)
struct ARP_entry
{
char IPaddr[16];
char MACaddr[18];
char ARPstatus;
int timec;
};
static struct ARP_entry ARP_table[ARP_table_vel];
void copyZIS()
{
int i=0;
const char filename[] = "/proc/net/arp";
FILE *file = fopen(filename, "a");
for (i; i< i+j; i++)
{
fprintf(file, "%c %c %c", ARP_table[i].IPaddr, ARP_table[i].MACaddr, ARP_table[i].ARPstatus);
}
}
誰是'ARP_table'? – Alexandru 2011-06-08 13:29:09
爲什麼不啓動像gdb這樣的調試器並從那裏運行它來查看錯誤是什麼? 'j'的範圍是什麼?這是一個全局變量嗎?如果> 0,那麼你有一個無限的循環 – 2011-06-08 13:29:16
你的意思是'fprintf(file,「%s%s%s」,...)'? – Alexandru 2011-06-08 13:29:22