c++-C++如何快速统计txt文件行数?

问题描述

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

c++-C++如何快速统计txt文件行数?的相关文章

Visual Studio使用正则表达式快速统计总共代码行数

原文:Visual Studio使用正则表达式快速统计总共代码行数 按CTRL+SHIFT+F,勾上支持正则表达式,然后输入搜索内容: [csharp] view plaincopyprint? <span style="font-family:Microsoft YaHei;font-size:18px;">^:b*[^:b#/]+.*$</span>     说明:#开头和/开头或者空行都不计入代码量.如果需要只统计代码文件的代码量,可以选择查找文件的类型,

php超快高效率统计大文件行数_php技巧

用php获取文件行数,网上给出的答案通常是使用file这样一次性读取,这样不适用在大文件.通常大文件大家用while来循环的逐行统计,这样的效率太慢 最快的方法是多行统计,每次读取N个字节,然后再统计行数,这样比逐行效率高多了. 测试情况,文件大小 3.14 GB 第1次:line: 13214810 , time:56.2779 s; 第2次:line: 13214810 , time:49.6678 s; /* * 高效率计算文件行数 * @author axiang */ function

批处理获取文件夹下面txt文件行数并添加到文件名后_DOS/BAT

方法一: @echo off&setlocal enabledelayedexpansion for /f "delims=" %%a in ('dir /a-d/b/s *.txt') do ( for /f "tokens=3 delims=:" %%b in ('find /c /v "" "%%a"') do set n=%%b ren "%%a" "%%~na_!n: =!%%~

求助怎么用C# 取一个文件夹中所有的txt的行数并且写入dataGridView

问题描述 计算txt的行数和dataGridView单元格一一对应各个txt文件内容为(例):E00401504EB9FE7DE00401504EB9FE7DE00401504EB9FE7DE00401502BB0D3DFE00401502BB0D3DFtxt第一站第一时段第一站第二时段.........dataGridView站数/时段第1时段第2时段第3时段第4时段第1站第2站第3站本人纯属菜鸟需要各位大神源代码 解决方案 解决方案二:技术差,连描述都不清楚,txt例子和gv的描述看不懂是怎

SQL Server中统计每个表行数的快速方法

这篇文章主要介绍了SQL Server中统计每个表行数的快速方法,本文不使用传统的count()函数,因为它比较慢和占用资源,本文讲解的是另一种方法,需要的朋友可以参考下 我们都知道用聚合函数count()可以统计表的行数.如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一个动态SQL语句并执行,才能得到结果.以前在互联网上看到有一种很好的解决方法,忘记出处了,写下来分享一下. 该方法利用了sysindexes 系统表提供的rows字段.rows

Shell脚本统计文件行数的8种方法_linux shell

获取单个文件行数 文件:test1.sh 行数:20 方法一 复制代码 代码如下: awk '{print NR}' test1.sh|tail -n1 如图所示: 方法二 复制代码 代码如下: awk 'END{print NR}' test1.sh 如图所示: 方法三 复制代码 代码如下: grep -n "" test1.sh|awk -F: '{print '}|tail -n1 如图所示: 方法四 复制代码 代码如下: sed -n '$=' test1.sh 如图所示: 方

C语言实现的统计php代码行数功能源码(支持文件夹、多目录)_C 语言

放假在家没事,睡过懒觉,看过电影,就想起来写个小程序. 统计php代码的行数,对于phper还是挺实用的.支持单个文件和目录.下面是代码和演示的例子! /**  * @date     2012-12-1  * @author bright  * @todo     统计php代码行数  */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #inc

PHP获取文件行数的方法_php技巧

本文实例讲述了PHP获取文件行数的方法.分享给大家供大家参考.具体分析如下: 提供两种实现方法,虽然第二种简单易懂,但是第一种效率最好 第一种: <?php $file_path = 'xxx.txt'; //文件路径 $line = 0 ; //初始化行数 //打开文件 $fp = fopen($file_path , 'r') or die("open file failure!"); if($fp){ //获取文件的一行内容,注意:需要php5才支持该函数: while(s

php 获取文件行数的方法总结_php技巧

stream_get_line获取文件行数 <?php $file_path = 'xxx.txt'; //文件路径 $line = 0 ; //初始化行数 //打开文件 $fp = fopen($file_path , 'r') or die("open file failure!"); if($fp){ //获取文件的一行内容,注意:需要php5才支持该函数: while(stream_get_line($fp,8192,"\n")){ $line++;