我有一个项目,我应该计算文件中的行,单词和字符。我的程序运行正常,但如果有的话,我不应该在文件末尾计算一个空行。
如果有文件末尾,如何避免计算空白行?我可以假设文件末尾最多有一个空行。
这是我计算行数的循环:
int count_lines(fstream& infile) {
int counter_lines=0;
string unused;
while ( getline(infile, unused) ) {
counter_lines++;
}
infile.close();
return counter_lines;
}
答案 0 :(得分:3)
有一个bool
变量来指示读取的行是否为空,将其称为lastLineWasBlank
(将其初始化为false)。然后每次循环,将其设置为unused.empty()
。
当你的循环结束时,如果lastLineWasBlank
为真,则从计数中减去一个。
然后,您可能希望将unused
更改为其他变量名称。