首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

fscanf成了死循环,大家帮忙看下解决方案

2012-04-18 
fscanf成了死循环,大家帮忙看下不是说fscanf读完一段后会把文件指针移到当前结束的位置么?我的怎么读完一

fscanf成了死循环,大家帮忙看下
不是说fscanf读完一段后会把文件指针移到当前结束的位置么?我的怎么读完一段后指针没变啊。结果程序成了死循环


FILE   *flocal   ;
int   listi=1;  
int   num=0     ;

if   ((flocal=fopen( "record.txt ", "r "))!=NULL)
{
CString   localbuff;
fseek(flocal,   0,   SEEK_SET)   ;

for   (;fscanf(flocal, "%[^\n] ",localbuff)!=EOF;listi++)
{


}
                        }

[解决办法]
fscanf 返回以读取的数据个数 ~
不可能读取 -1 个数据,
所以不能这么判断

for (;fscanf(flocal, "%[^\n] ",localbuff)!=EOF;listi++)
{
}
==》
fscanf(flocal, "%[^\n] ",localbuff);
while(!feof(flocal))
{
listi++;
...
fscanf(flocal, "%[^\n] ",localbuff);
}

热点排行