首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

txt文件末尾判断

2012-01-11 
求助:txt文件末尾判断我有一段代码,是一行一行读数据的,我想知道怎么判断读完了?CStdioFileFileFile.Open

求助:txt文件末尾判断
我有一段代码,是一行一行读数据的,我想知道怎么判断读完了?
CStdioFile   File;

File.Open(sFileName,CFile::modeRead);   //以读模式打开一个txt
//格式的文本文件

CString   FileData;                 //定义一个CString变量作为缓冲区

int   ol=0;
DWORD       o=0;
char   TempStr1[12];

char   TempStr2[12];
     
     
      num=num+1;   //读的第几行
      while(   File.ReadString(FileData))
      {
ol++;

/*定义两个临时字符串,并初始化为 '\0 '*/
      memset(TempStr1, '\0 ',12);

      memset(TempStr2, '\0 ',12);
     

      sscanf(FileData, "%s   %s ",TempStr1,TempStr2);


if(ol> =num)break;
      }

GetDlgItem(IDC_EDIT_CardName)-> SetWindowText(TempStr2);
GetDlgItem(IDC_EDIT_EKeyID)-> SetWindowText(TempStr1);
GetDlgItem(IDC_EDIT_CardNo)-> SetWindowText(TempStr1);
GetDlgItem(IDC_EDIT4)-> SetWindowText(TempStr1);
File.Close();

我打开的txt文件内容为:
001050010727  张三
001050010728  李四
开始的时候正常显示,假如后面只有一个回车或没有回车,那么到结束的时候,TempStr1里的内容就是"001050010728李四",TempStr2里的内容就是"李四";假如txt文件末尾有好几个回车的话,最后TempStr1,TempStr2里的内容就都是空字符串,我想达到的目的就是,不关TXT文件后面有没有回车,读完后TempStr1,TempStr2里的内容是空字符串,请问该怎么写?

[解决办法]
其实用FILE类型文件没有那么复杂的事情。
[解决办法]
FILE* fp1;
fp1 = fopen( "xx ", "rt ");

而,ReadString还要设置串的长度,被限制了。
[解决办法]
if (!FileData.IsEmpty())
sscanf(FileData, "%s %s ",TempStr1,TempStr2);

热点排行