c++ 文件io 怎么把指针定位到指定的行 10

txt文件里数据是按行存储的每一行是一个单位的数据而且,每一行数据的长度不一样这样的情况下怎么把指针定位到某一个行... txt文件里 数据是按行存储的 每一行是一个单位的数据
而且,每一行数据的长度不一样
这样的情况下 怎么把指针定位到某一个行
展开
 我来答
lgt054634
2012-09-17 · 超过17用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:36.8万
展开全部
ifstrea infile(要读取的文件);
string tstr;
int line;//定位到某一行
cin>>line;//输入要定位的行
for(int i=0;i!=line;i++)
getline(infile,temp);//这个函数的作用是读取一行数据
之后文件指针就定位到你想要的行的位置了!
匿名用户
2015-08-10
展开全部
  如果行的长度不固定,没有简单的办法,只能一直读到第10行。如果每行的长度是固定的,那么用fseek直接定位。
  开一个临时内存区,
  然后一行一行的用fgets()读入,每次可以读一行,然后就可以定位了。
  i=1;
  while(i++<10) fgets();
  fgets();//第10行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fuqiyang11
2012-09-29
知道答主
回答量:12
采纳率:0%
帮助的人:15.5万
展开全部
/**上面的回答有漏洞,就是不能回到文件指针以上的其他行
***定义一个指向任意行的函数,这个函数经过测试,没有问题。
**/
void point_to_line(ifstream& f, const int line){ //这里定义了文件输入流,你可以定义其他文件流

char* buf = new char[100]; //这里假设文件每行不超过100个字符
f.seekg(0, ios::beg); //先回到文件的开头
for(int i=0; i<line-1; i++)
f.getline(buf, 100);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suiyue_2009
2012-09-17 · TA获得超过846个赞
知道小有建树答主
回答量:1248
采纳率:0%
帮助的人:880万
展开全部
每行结束的时候有一个回车啊 只有一行一行的扫过去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
coinv
2012-09-17 · TA获得超过410个赞
知道小有建树答主
回答量:775
采纳率:0%
帮助的人:443万
展开全部
从前向后查,每个回车符就是一行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式