Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8602814
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类: C/C++

2006-11-13 14:34:34

[点评:对于一般文件的读取,建议还是用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);
   }
  }
阅读(9539) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~