C++用getline读的文件,如何让文件指针退一行。
我是用string的成员函数getline对文件进行读取,读取后,需要根据下一行的内容判断是否需要退一行。也就是getline后,我想让文件指针再退回到getline以前...
我是用string的成员函数getline对文件进行读取,读取后,需要根据下一行的内容判断是否需要退一行。也就是getline后,我想让文件指针再退回到getline以前的位置,以便下次调用getline时读取的是同一行内容。
展开
3个回答
2015-08-09 · 知道合伙人教育行家
关注
展开全部
在调用getline之前,先调用tellg()得到当前位置,然后getline(),需要返回的时候调用seekg()。
代码如下:
#include <iostream>
#include <fstream>
#include <string>
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<<s;
ifs>>ch;
ob1<<ch<<" ";
cout<<ch<<" ";
}
}
代码如下:
#include <iostream>
#include <fstream>
#include <string>
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<<s;
ifs>>ch;
ob1<<ch<<" ";
cout<<ch<<" ";
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
存储一下上次的文件指针,需要后退时调用一下fseek
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询