我试图在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