我正在编写一个打印出 Firefoxcookies.sqlite
文件的程序。
int printfile(FILE* cookiesfile)
{
int c;
//fseek(cookiesfile,0x18260,SEEK_SET);
do{
c=fgetc(cookiesfile);
printf("%c",c);
}while(c != EOF);
printf("\n\n%x",c);
if (ferror(cookiesfile) != 0)printf("\nchareror!\n");
return 0;
}
代码EOF
在文件结束前的各个点返回。在十六进制编辑器或记事本中打开文件显示文件要大得多。EOF
总是出现在相同的点。跳过这些点,读取数据直到下一个EOF
。发生这种情况的字符EOF
通常在以前没有任何问题的情况下被删除(即0x1a
,0x13
)。
检查结果ferror()
无济于事(因为不存在错误)。
我不确定如何在调试过程中进行,有人可以引导我走向正确的方向吗?