點評:對于一般文件的讀取,建議還是用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); } }
新聞熱點
疑難解答