gpt4 book ai didi

c - 写入文件(fprintf)

转载 作者:太空宇宙 更新时间:2023-11-04 07:38:44 25 4
gpt4 key购买 nike

我试图在 Linux 和 C 中向 ARP 表添加一些绑定(bind)。我用“a”(追加,对吗?)打开一个文件,然后尝试写入一些地址,但我总是遇到段错误。我相信 ARP_table[i].IPaddr, ARP_table[i].MACaddr, ARP_table[i].ARPstatus

有问题
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);
}

}

最佳答案

您没有检查 fopen 的返回值。我很确定不允许您写入该文件

FILE *file = fopen(filename, "a");
if (NULL == file) {
perror("fopen");
/* return / exit */
}

这是我系统上的/proc/net/arp

[cnicutar@aiur ~]$ ls -l /proc/net/arp
-r--r--r-- 1 root root 0 Jun 8 16:29 /proc/net/arp

关于c - 写入文件(fprintf),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com