在vc中按行读文件?
我有一个文本文件,这个文件是在不断增加的,我每次要去读他的最后一行,
要怎么读效率高一点呢?用CFile吗?用CStdiofile呢?或者用其他的什么?请给我一个例子。
问题点数:100、回复次数:7Top
1 楼yuanzhucn(援助)回复于 2003-06-04 00:12:46 得分 0
uTop
2 楼redlightguang(红光)回复于 2003-06-04 00:25:13 得分 0
我想先把指针移到最后,在向上移一行。再用CStdiofile中的ReadCtring()函数。Top
3 楼zyleon(zy)回复于 2003-06-04 08:33:40 得分 50
//要读第N行
CStdioFile fTxt;
CString strLine;
.......................
fTxt.SeekToBegin(); //文件指针到头,每次读之前都要这么做
for(int i=0; i<N; i++)
fTxt.ReadString(strLine);
Top
4 楼ZouMorn(风前横笛斜吹雨)回复于 2003-06-04 09:06:40 得分 0
乖乖,如下
fgets
或者
ifstream::getline()
Top
5 楼unrise(进了这条船,就下不来了 ^-^)回复于 2003-06-04 09:14:14 得分 20
fgets
或者:
CStdioFile file;
CString rString;
if(!file.Open(szFileName,CFile::modeRead,NULL))
{
char buf[100];
sprintf(buf,"无法打开文件!",szFileName);
AfxMessageBox(buf,MB_OK+MB_ICONSTOP,0);
return false;
}
while(file.ReadString(rString))
{
// 读取了一行在rString中,做你自己的处理
}
file.Close();Top
6 楼awnucel(西大耻犹未雪,南京恨何时灭&抵制日货)回复于 2003-06-04 09:18:10 得分 30
CStdioFile fTxt;
CString strLine;
.......................
fTxt.SeekToBegin(); //文件指针到头,每次读之前都要这么做
for(int i=0; i<N; i++)
fTxt.ReadString(strLine);
Top
7 楼zfive5(醉马不肖)回复于 2003-06-04 09:27:24 得分 0
CStdioFileTop




