如何 读出log文件的最后一行?
请问如何读取一个文本文件的最后一行,倒数第二行,第三行?
[解决办法]
你如果读到了总行数....还怕控制不好读第几行?
[解决办法]
用CFile,seek吧,根据换行符控制
[解决办法]
你如果读到了总行数....还怕控制不好读第几行?
[解决办法]
文件大吗?如果不大,就把所有行读出来,再取你要的行的资料
[解决办法]
楼主自己帖出来的代码好象不是读最后一行吧....而是全读出来吧?
而且我怕你这样读大点的文件是不行的
[解决办法]
seek到末尾,反着找/r/n.
如果每行长度固定,用seek定位。
[解决办法]
CString str;
CStdioFile file;
file.Open(C:\\1.log,CFile::modeRead);
while(file.ReadString(str))
{
}
file.Close();
这样可以读出最后一行字符(以C盘下的1.log为例).
注意,while语句使用空循环.每一行的字符写入str后,又立即被下一行的字符取代,直到最后一行.
[解决办法]
可以从文件的后面读起,判断一下换行符号就行了。
从文件后面向前读只要给SetFilePointer传递一个负数就行了。