c程序编译组建都没有问题,但是运行debug目录中的组建好的exe程序却无法运行
经判断是如下代码段的问题 各位帮忙鉴定一下怎么回事
fp=fopen( "engineer.txt ", "r ");
while(1)
{
cur=(ENG *)malloc(sizeof(struct EngineerStruct));
if (cur==NULL)
{
printf( "内存分配失败\n ");
exit(-1);
}
i=fread(cur,sizeof(struct EngineerStruct),1,fp);
if(i==1)
{
pretail-> next=cur;
cur-> next=tail;
pretail=cur;
EngineerCount++;
}
else
{
free(cur);
break;
}
}
fclose(fp);
当我把i=fread(cur,sizeof(struct EngineerStruct),1,fp); 注释掉之后 再编译组建程序, debug下的exe文件就能正常运行
[解决办法]
楼主是不是应该对那条fp=fopen( "engineer.txt ", "r ");语句的返回值做一下判断.到底有没有open成功呢??