作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,当向后读取我的文件并确保我不在顶部时,在调试器中我意识到 ftell 停止返回位置,任何人都可以透露一些信息吗?
int Dtl(Acc *user)
{
FILE *dtl_Fp;
trans_Pass dislog[10];
int i=0,x=-1,r_Val;
My_Convertor();
dtl_Fp=Opnfile("Tempfile",r_B,dnt_ret_fp);
system("cls");
printf("Types Format\nW-Withdraw\tDep-Deposit\tSch-Pay School Fee\n\nID:NO\tTyp:Amount\t\tDate\n");
while (1)
{
fseek(dtl_Fp,sizeof(trans_Pass)*(x),SEEK_END);
fread(&dislog[i],sizeof(trans_Pass),1,dtl_Fp);
r_Val=ftell(dtl_Fp);
if ((ftell(dtl_Fp)==0)){break;}
if(dislog[i].id_No==user->id_No){printf("%s\n\n",dislog[i].info);}
i++;x--;
}
fclose(dtl_Fp);
}
最佳答案
这可能与以下内容有关:
r_Val=ftell(dtl_Fp);
if ((ftell(dtl_Fp)==0)){break;}
您调用了 ftell() 两次,但从未使用过 r_val。
代码段中没有任何内容可以让我看到 fseek() 中的参数 sizeof(trans_Pass)*(x)
的值,但如果它不是合法值( 0,文件大小)可能会导致意外结果。
无法保证 ftell()
不会返回 -1。你没有检查这一点。出现错误情况时,ftell 返回 -1,然后将 errno 设置为非零值,该值可用于获取有关错误性质的信息。
关于c - 弗特尔停止回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873038/
我是一名优秀的程序员,十分优秀!