ifstream 有没有提供获取第几行的函数

wzuxian2012 2012-05-04 05:33:44
txt中10行数据

提取第6行数据,,没这个函数啊


难道只能这么做

for(int i=0; i<=6;i++)
ifstream>>str;

来提取吗???



2. 为什么有的代码中 读取文件的时候,要检测eof,没有必要吧,检测了干嘛啊??
...全文
316 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzuxian2012 2012-05-04
  • 打赏
  • 举报
回复
如何加快io读取速度????

有时候感觉好慢啊,一半天才出新结果。

[Quote=引用 7 楼 的回复:]

2个非空行之间的空行会被过滤,另外 文本文件的末尾如果出现多个空行只会获得一个空行,

统计确实有大量问题。。。。





引用 6 楼 的回复:

如何统计一个文本文件的行数,包括空行,ifstream脾气很诡异,我没有招到法子统计。

看我的代码,是不对的。。。

C/C++ code
#include "stdafx.h"
#include <iostr……
[/Quote]
wzuxian2012 2012-05-04
  • 打赏
  • 举报
回复
2个非空行之间的空行会被过滤,另外 文本文件的末尾如果出现多个空行只会获得一个空行,

统计确实有大量问题。。。。





[Quote=引用 6 楼 的回复:]

如何统计一个文本文件的行数,包括空行,ifstream脾气很诡异,我没有招到法子统计。

看我的代码,是不对的。。。

C/C++ code
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include<string>


using namespace std;
int main() {

string……
[/Quote]
wzuxian2012 2012-05-04
  • 打赏
  • 举报
回复
如何统计一个文本文件的行数,包括空行,ifstream脾气很诡异,我没有招到法子统计。

看我的代码,是不对的。。。

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include<string>


using namespace std;
int main() {

string str;
ifstream fin("test.txt"/*, ios::binary*/);
if (fin.fail()) {
cout<<"can not open file"<<endl;
return 0;
}
int n=0;

if(fin.peek()==EOF)
{
cout<<"文件是空的"<<endl;
return 0;
}
//对非空文件进行统计函数

while(fin.peek()!=EOF) //如果不空
{
if(fin>>str)
{
cout<<str<<endl;
}
else
{
cout<<" "<<endl;
}
n++;
}

cout<<"行数:"<<n<<endl;

return 0;
}
Eleven 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
为什么有的代码中 读取文件的时候,要检测eof,没有必要吧,检测了干嘛啊??

这个怎么解决啊???
[/Quote]
http://hi.baidu.com/oaiei/blog/item/ade6bfaf6a6ae7c47dd92af4.html
wzuxian2012 2012-05-04
  • 打赏
  • 举报
回复
为什么有的代码中 读取文件的时候,要检测eof,没有必要吧,检测了干嘛啊??

这个怎么解决啊???
wzuxian2012 2012-05-04
  • 打赏
  • 举报
回复

ifstream ifs;

for(int i=0; i<=6; i++)
{
getline(ifs, str);

}

W170532934 2012-05-04
  • 打赏
  • 举报
回复
好像没有,但是你可以自己一行一行来读嘛
Eleven 2012-05-04
  • 打赏
  • 举报
回复
getline一行一行的来。

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧