一个很奇怪的问题,请教高手

lovelymuyu 2005-05-26 09:53:21
编写一个程序对一个文件文件进行读写,文本文件内容如下;
BSC-identification:JABSC05
comment:
network-element:SECTOR
BTS-type:METROBTS
non-key key non-key non-key key non-key
AZIMUTH BAND BLAT BLONG CELL CELLTYPE
30 800 390340 1656172 101 standard
………………………………………………………………………………

30 800 390340 1656172 101 standard是需要提取的数据。,后面省略的都是跟这一行格式一样。

我编写一段代码,用以读取文件文件的行数。
成员变量:
int NumOfLines;
DWORD endPosition;
CStdioFile LogFile;


先读取6行数据,当前文件指针应该是指向30 800 390340 1656172 101 standard这一行。再运行下面读取后面还有多少行数据。
void CProcessFile::ReadSubsetNumber()
{
CString strTemp;
DWORD PosCur;
this->NumOfLines=0;

PosCur=LogFile.GetPosition();//读取当前文件指针位置 ,跟踪结果显示为279
LogFile.ReadString(strTemp);
while(strTemp != "")
{
LogFile.ReadString(strTemp);
this->NumOfLines=this->NumOfLines+1;
}
LogFile.Seek(PosCur,CFile::begin);//希望能返回30 800 39034这一行
PosCur=LogFile.GetPosition(); //也是279
}

问题在于我再用LogFile.ReadString(strTemp);意图读取30 800 390340 1656172 101 standard这一行数据,结果strTemp读取出来的是390340 1656172 101 standard,少了前面30 800 两个数据,好像是文件指针发生了变化,当时我跟踪了前后的Pos文件指针位置,都是279。就不是很明白了,希望高手那个解释一下。
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovelymuyu 2005-05-26
  • 打赏
  • 举报
回复
中间没有空行
我的问题是刚开始的时候读取了6行数据后,这个时候文件指针应该定位在30 800 390340 1656172 101 standard这一行了,我保存了当时的文件指针,往下读取了几行,再返回到刚刚保存的位置,读取的时候就发现少了东西。
jingyad 2005-05-26
  • 打赏
  • 举报
回复

你的文件中间是不是有空行?
如果遇到空行LogFile.ReadString(strTemp);返回的strTemp就是""
jingyad 2005-05-26
  • 打赏
  • 举报
回复
CString strTemp;
DWORD PosCur;
int NumOfLines;
DWORD endPosition;

NumOfLines=0;

CStdioFile LogFile;
LogFile.Open("F:\\aaa.txt", CFile::modeRead);

PosCur=LogFile.GetPosition();//读取当前文件指针位置 ,跟踪结果显示为279
LogFile.ReadString(strTemp);
while(strTemp != "")
{
LogFile.ReadString(strTemp);
NumOfLines = NumOfLines + 1;
}
LogFile.Seek(PosCur,CFile::begin);//希望能返回30 800 39034这一行
PosCur = LogFile.GetPosition(); //也是279

这是我执行的代码,没有发现可疑的地方
文件aaa.txt的内容如下:
BSC-identification:JABSC05
comment:
network-element:SECTOR
BTS-type:METROBTS
non-key key non-key non-key key non-key
AZIMUTH BAND BLAT BLONG CELL CELLTYPE
30 800 390340 1656172 101 standard

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧