为了账号安全,请及时绑定邮箱和手机立即绑定

报错为:Segmentation fault(coredump)

报错为:Segmentation fault(coredump)

Helenr 2023-03-12 21:17:45
int main(int argc, char *argv[]) { char name [120];char ch[MAX_LINE_SIZE];char str[MAX_LINE_SIZE];char * pf,* pt;int charge;int sum;int i,j;FILE * fp;sprintf(name,"%s",argv[1]); printf("name is [%s]\n",name);memset(str,0,MAX_LINE_SIZE);memset(name,0,sizeof(name));fp=fopen(name,"r");while(1){ printf("begin\n");memset(ch,0,MAX_LINE_SIZE);if(fgets(ch,MAX_LINE_SIZE,fp) == NULL){break;}
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

memset(name,0,sizeof(name));
fp=fopen(name,"r");

文件名被memset了,估计没有打开成功,然后fgets就core了。

需要判断fp是否为NULL,再进行文件操作

查看完整回答
反对 回复 2023-03-15
  • 1 回答
  • 0 关注
  • 189 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信