中易网

C++计算文件的行数

答案:2  悬赏:0  
解决时间 2021-02-16 09:08
C++计算文件的行数,计‘/n’的个数在不计空白行的情况下无法得出正确的行数(万一不小心在文件中打了回车,这种情况也要考虑的),求完整代码,谢谢
最佳答案
#include
#include
#include
using namespace std;

int main(void)
{
ifstream file("test.txt");
string str;
int count = 0;
while (file) {
getline(file, str);//从文件中读取一行
remove(str.begin(), str.end(), ' ');//这个算法函数在algorithm头文件中,删除一行中的空格
remove(str.begin(), str.end(), '\t');//删除一行中的制表符,因为制表符和空格都是空的
if (str.length() > 0) {//如果删除制表符和空格之后的一行数据还有其他字符就算有效行
count ++;
}
}

cout< return 0;
}

你地明白?
全部回答
判断是不是空行啊,假如是空行就不计数; 假如读到的不是空格也不是制表符,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<
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯