C++用getline读的文件,如何让文件指针退一行。

2025-03-09 22:08:39
推荐回答(3个)
回答1:

在调用getline之前,先调用tellg()得到当前位置,然后getline(),需要返回的时候调用seekg()。示例代码:

ifstream ifs(...);
...
std::streampos pos = ifs.tellg();
ifs.getline(.....);
ifs.seekg(pos);
...

回答2:

  在调用getline之前,先调用tellg()得到当前位置,然后getline(),需要返回的时候调用seekg()。
  代码如下:
  #include
  #include
  #include
  using namespace std;
  void main()
  {
  string s; char ch[500000];
  ofstream ob1("ab.txt");
  ifstream ifs("exex.txt");
  while(ifs)
  {
  getline(ifs,s);
  if(ifs)
  // index++;
  // ob1<  ifs>>ch;
  ob1<  cout<  }
  }

回答3:

存储一下上次的文件指针,需要后退时调用一下fseek