點(diǎn)評(píng):對(duì)于一般文件的讀取,建議還是用CStdioFile來(lái)進(jìn)行行的讀與寫操作,這樣非常方便的.
[問題提出] 一數(shù)據(jù)文件一行一條記錄,我用file.ReadString()一次讀一行,并對(duì)讀取的數(shù)據(jù)做一些處理; 請(qǐng)問:
while(文件還沒到結(jié)尾) { file.ReadString(); ... } 文件還沒到結(jié)尾如何判斷?如果,到了指定位置不讀了,過一會(huì)兒再讀又如何做?[解決方法] while()中不用另加判斷條件了,因?yàn)镃StdioFile::ReadString()本身就是判斷標(biāo)志,若沒有了(文件到頭)返回NULL,因此:while(file.ReadString(s)){}就可. [程序?qū)崿F(xiàn)] 假設(shè)你已有了名為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();//記錄上次的結(jié)果(讀到哪了) ................. file.Seek(o,0);//接著上回讀 while(file.ReadString(sss)) { strcpy(ccc,sss); AfxMessageBox(ccc); } }
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注