问题描述
- C++如何快速统计txt文件行数?
-
C++如何快速统计txt文件行数?大概有100W行,用getline一行一行读计数太慢。
解决方案
内存映射,逐块读取,查找换行符
解决方案二:
当然是查找换行符回车符的个数啦。
解决方案三:
100万行,一行算100个字节,那么大约100兆,也不是很吓人。可以一次性读取,然后多线程(你有几个cpu核就用几个)分块统计分行符。
解决方案四:
先读入内存 直接用remove('n')返回值就是行数
解决方案五:
FILE *pFile;
int c;
int n=0;
pFile=fopen(fullpath,"r");
if (pFile==NULL)
{
return;
}
else
{
do{
c=fgetc(pFile);
if (c=='n')
n++;
}while(c!=EOF);
}
比用ifstream的getline快不少
解决方案六:
把文件整个读入内存,然后统计n的个数。
解决方案七:
把文件整个读入内存,然后统计n的个数。
时间: 2024-10-24 09:24:12