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,再进行文件操作
添加回答
举报
0/150
提交
取消