设为首页 加入收藏

TOP

C++读取文件seekg()无效的问题
2014-11-19 13:59:16 】 浏览:5495
Tags:读取 文件 seekg 无效 问题

  book_data.infile.seekg(0,ios::beg);


  while(1)


  {


  char templine[81];


  int a,b;


  book_data.infile>>a>>b;


  if(book_data.infile.eof())


  {


  break;


  }


  //do something


  book_data.infile.getline(templine,80);


  }


  现象:第一次读取成功,之后都读取失败,经过调试发现book_data.infile.seekg(0,ios::beg);这句不起作用,在这句之后添加long p=book_data.infile.tellg();cout<<"p="<


  原因:第一次读取到文件末尾时,再次进行读取,将会设置eof标志,下次读取需要用.clear()来清除该标志。


  book_data.infile.seekg(0,ios::beg);


  while(1)


  {


  char templine[81];


  int a,b;


  book_data.infile>>a>>b;


  if(book_data.infile.eof())


  {


  book_data.infile.clear();//for next read


  break;


  }


  //do something


  book_data.infile.getline(templine,80);


  }


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇VC++TabControl控件的详细使用 下一篇C++指针直接调用类成员函数探讨

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目