标题: C读写大dbf文件
[打印本页]
作者: liyangwyh
时间: 2010-1-21 11:11
标题: C读写大dbf文件
我在dos下用C一行一行读取dbf中的记录,当数据文件大了就死机了。
fseek(fp,headlength, 0);/*将文件指针定位到第一记录开始处*/
for (recno=1; recno<=recnumber; recno++)
{
fgets(str, reclength+1, fp);
printf("%u, %s\n",recno, str);
}
请问各位有没有什么好的方法解决?
作者: mmxx0212
时间: 2010-1-21 12:00
可以找找有没有DBF文件操作的头文件
作者: mmxx0212
时间: 2010-1-21 12:03
你把完整代码发上来看看
作者: liyangwyh
时间: 2010-1-21 12:46
谢谢各位,问题找到了,是str的空间太小了数据内容超出了
作者: firstsail
时间: 2010-1-21 12:53
这太好理解了,
您的recno是unsigned int 类型,而recnumber纪录号是unsinged long类型,所以recno不管怎样加加,只能在0~65535u中变化.
如果recno是unsigned long 类型,则printf("%u, %s\n",recno, str)应改为
printf("%lu, %s\n",recno, str);