用CFile 打开文件,谁有好办法让文件指针定位到倒数10行的开始位置? 听你说的好像是文本文件,可以用CStdioFile::ReadString读一行,都10次就到了:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我只好这样了:CFile pf;int nlines;pf.open()while(fgets()!=NULL){ nlines++} //得到总行数//这里再将指针移到开始.if (nlines <10) { //总行数小于10}else //>10{ while(fgets()!=NULL) { i++; if(i>nlines-10) break;}}//这样就得到了指在倒数10行位置的文件指针//不过,太烦了吧,谁有好的方法 to iProgram: hehe,但是文件的总行数我不是已知的呀,要不也就很容易了. 好象文件没有向前读的方法可以这样吧:大约分配一块内存,比如1024bytes读文件最后1024bytes,从后向前找10个'\n'就可以了,不够就再读1024bytes... "to iProgram: hehe,但是文件的总行数我不是已知的呀,要不也就很容易了."既然如此,ReadString到文件尾,得到行数Count,再ReadStringCount -10 次不就得了 呵呵,我想我的方法是比较好的,如果文件有1G呢,别说不会,有些log文件比这大多了linux下有个叫tail的工具是做这事的吧,非常有用的工具我没看代码,不过估计方法差不多 m_wndSplitter.IdFromRowCol(0,1) //指定新的splitter占据外层架构的左方格什么意思? Win7下所有窗口的边框会填充4像素(加宽)自绘对话框的问题。 运行时不时提示一个错误 创建一个不会获得焦点的窗口,类似输入法里的软键盘 哪位大哥哥能帮帮我!!! 有专门讲MFC Activex控件的书吗 如何自己写代码显示ttf字库的汉字? 关于模板问题,大虾帮帮忙 救命啊,dll的问题 为什么文件写不进去??在16进制编辑器中就可以?? 我的msdn打不载,为什么? VC里怎么用汇编?
CFile pf;
int nlines;
pf.open()
while(fgets()!=NULL){ nlines++} //得到总行数
//这里再将指针移到开始.
if (nlines <10) {
//总行数小于10
}
else //>10
{
while(fgets()!=NULL)
{
i++;
if(i>nlines-10) break;
}
}
//这样就得到了指在倒数10行位置的文件指针
//不过,太烦了吧,谁有好的方法
hehe,但是文件的总行数我不是已知的呀,要不也就很容易了.
可以这样吧:
大约分配一块内存,比如1024bytes
读文件最后1024bytes,从后向前找10个'\n'就可以了,不够就再读1024bytes...
hehe,但是文件的总行数我不是已知的呀,要不也就很容易了."既然如此,ReadString到文件尾,得到行数Count,再ReadString
Count -10 次不就得了
如果文件有1G呢,别说不会,有些log文件比这大多了
linux下有个叫tail的工具是做这事的吧,非常有用的工具
我没看代码,不过估计方法差不多