读书人

C++ 读资料最后一行无限读取(后面有

发布时间: 2013-07-04 11:45:55 作者: rapoo

C++ 读文件最后一行无限读取(后面有空行)
文件的最后一行有空行 然后就无限读取
while(!inIisLog.eof())
{
inIisLog.get(buffer);
if(buffer == 13)
{
if(!inIisLog.eof())
inIisLog.get(buffer);
else
break;
}
else if(buffer == '#')
{
while(buffer != '\n')
{
inIisLog.get(buffer);
}
}
else
{
inIisLog.putback(buffer);
inIisLog >> date >> time >> s_sitename >> s_ip >> cs_method >> cs_uri_stem >> cs_uri_query >>
s_port >> cs_username >> c_ip >> cs_user_agent >> sc_status >> sc_substatus >> sc_win32_status;
Iislog temp(date ,time ,s_ip , c_ip , s_sitename ,cs_method , cs_uri_stem , cs_uri_query ,
s_port ,cs_username , cs_user_agent , sc_status , sc_substatus,sc_win32_status);
list.push_back(temp);
}
}
[解决办法]
先把 while(!inIisLog.eof()) 改成 while(!inIisLog) 试试.
不行的话发个完整的程序和读取的文件内容吧.

读书人网 >C++

热点推荐