C++中怎样获取文件的行数
定义一个文件流fstreamfin("a.txt"),在a.txt里面如果有0行则输出0,有n行则输出n。不能通过数回车符的方式来计算行数,这样如果不小心多输了几个回车符...
定义一个文件流fstream fin("a.txt"),在a.txt里面如果有0行则输出0,有n行则输出n。
不能通过数回车符的方式来计算行数,这样如果不小心多输了几个回车符,这样就不行了 展开
不能通过数回车符的方式来计算行数,这样如果不小心多输了几个回车符,这样就不行了 展开
5个回答
2015-08-02 · 知道合伙人互联网行家
关注
展开全部
判断是不是空行啊,假如是空行就不计数;
假如读到的不是空格也不是制表符,flag = 1;
假如读到的是回车,而且flag == 1,则count++,flag = 0;否则直接flag=0。
目的是为了读取足够长的行,可以采用下面的读取方式:
ifstream infile("a.txt");//此处默认的文件打开方式为“以输出的方式打开”
char str[N];//N是定义的常数,目的是为了读取足够长的行
int n=0;//用来表示说读/写文本的行数
while(!infile.eof())
{
infile.getline(str, sizeof(str));//此处默认的终止标识符为‘\n’
n++;
}
cout<<n;
假如读到的不是空格也不是制表符,flag = 1;
假如读到的是回车,而且flag == 1,则count++,flag = 0;否则直接flag=0。
目的是为了读取足够长的行,可以采用下面的读取方式:
ifstream infile("a.txt");//此处默认的文件打开方式为“以输出的方式打开”
char str[N];//N是定义的常数,目的是为了读取足够长的行
int n=0;//用来表示说读/写文本的行数
while(!infile.eof())
{
infile.getline(str, sizeof(str));//此处默认的终止标识符为‘\n’
n++;
}
cout<<n;
展开全部
1楼的方法可行啊,再加个判断文件结束的判断就可以了
ifstream in("a.txt");
char str[N];//N是定义的常数,目的是为了读取足够长的行
int n=0;
while(!in.eof())
{
in.getline(str, sizeof(str));
n++;
}
cout<<n;
ifstream in("a.txt");
char str[N];//N是定义的常数,目的是为了读取足够长的行
int n=0;
while(!in.eof())
{
in.getline(str, sizeof(str));
n++;
}
cout<<n;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看有多少个'\n'就行了啊
那你就判断是不是空行啊,假如是空行就不计数啊
假如读到的不是空格也不是制表符,flag = 1
假如读到的是回车,而且flag == 1,则count++,flag = 0;否则直接flag=0;
很简单啊
就是
flag = 0;//flag = 1的意思就是“该行有非空字符”
count = 0;
while((c = getchar()) != EOF){
if(c != ' ' && c != '\t')
flag = 1;
else if(c == '\n'){
if(flag == 1)
count++;
flag = 0;
}
}
那你就判断是不是空行啊,假如是空行就不计数啊
假如读到的不是空格也不是制表符,flag = 1
假如读到的是回车,而且flag == 1,则count++,flag = 0;否则直接flag=0;
很简单啊
就是
flag = 0;//flag = 1的意思就是“该行有非空字符”
count = 0;
while((c = getchar()) != EOF){
if(c != ' ' && c != '\t')
flag = 1;
else if(c == '\n'){
if(flag == 1)
count++;
flag = 0;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道有没有直接获取行数的函数,但你可以读取行,统计。
ifstream in("a.txt");
string line;
int n=0;
while(getline(in,line))
{
n++;
}
cout<<n;
ifstream in("a.txt");
string line;
int n=0;
while(getline(in,line))
{
n++;
}
cout<<n;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
统计 '\n'的个数
行数='\n'的个数+1
行数='\n'的个数+1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询