点评:对于一般文件的读取,建议还是用CStdioFile来进行行的读与写操作,这样非常方便的.
[问题提出] 一数据文件一行一条记录,我用file.ReadString()一次读一行,并对读取的数据做一些处理; 请问:
while(文件还没到结尾) { file.ReadString(); ... } 文件还没到结尾如何判断?如果,到了指定位置不读了,过一会儿再读又如何做?[解决方法] while()中不用另加判断条件了,因为CStdioFile::ReadString()本身就是判断标志,若没有了(文件到头)返回NULL,因此:while(file.ReadString(s)){}就可. [程序实现] 假设你已有了名为ts.txt的文件在你的工程目录下:
{ CStdioFile file; CString sss; char ccc[100]; DWord o=0; int ol=0; file.Open("ts.txt",CFile::modeRead); while(file.ReadString(sss)) { ol++; if(ol>1)//读两次就不读了. break; } o=file.GetPosition();//记录上次的结果(读到哪了) ................. file.Seek(o,0);//接着上回读 while(file.ReadString(sss)) { strcpy(ccc,sss); AfxMessageBox(ccc); } }
新闻热点
疑难解答