linux C fwrite 段错误
#include<stdio.h>#definepfhpcap_file_heaer#definePCAP_FILE"123.pcap"intmain(){FILE*fp...
#include<stdio.h>
#define pfh pcap_file_heaer
#define PCAP_FILE "123.pcap"
int main ()
{
FILE *fp;
char pcap_file_header[] = {0xd4,0xc3,0xb2,0x1a,0x02,0x00,0x04,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xff,0xff,0x00,0x00,0x01,0x00,0x00,0x00};
if((fp = fopen(PCAP_FILE,"rw")) == NULL)
{
orintf("open failed!");
}
fwrite(pfh,sizeof(pfh),1,fp);
fclose(fp);
return 0;
}
编译,运行之后 提示 段错误
求各位大神指点到底哪出错了 展开
#define pfh pcap_file_heaer
#define PCAP_FILE "123.pcap"
int main ()
{
FILE *fp;
char pcap_file_header[] = {0xd4,0xc3,0xb2,0x1a,0x02,0x00,0x04,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xff,0xff,0x00,0x00,0x01,0x00,0x00,0x00};
if((fp = fopen(PCAP_FILE,"rw")) == NULL)
{
orintf("open failed!");
}
fwrite(pfh,sizeof(pfh),1,fp);
fclose(fp);
return 0;
}
编译,运行之后 提示 段错误
求各位大神指点到底哪出错了 展开
1个回答
展开全部
我刚才试了下,没有出现你的段错误,但是没有写到目标文件中去,将fopen中的参数rw改成r+或者w能成功写入,man fopen参数列表没有rw 但是gcc没报错,你试着改下这个参数看看,不管成没成反馈下
追问
我改成了"rw+",但是 还是会出现段错误 原来 编译成功过,也写入过 ,但是上次的文件 被我删了 现在写了一个 又出现 段错误了
追答
别rw+ 直接用r+ 或者w 我电脑rw写不进去 r+ 或者w能写入
如果还出现这样的问题 我建议你换个路径编译 换个文件试试看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询