Cómo contar el número de líneas de archivos en Linux usando lenguaje C
El número de filas se puede contar contando los caracteres de nueva línea \n. Sin embargo, cabe señalar que no hay un carácter de nueva línea en la última línea de algunos archivos, por lo que es necesario procesarlo en el código.
Después de llegar al final del archivo, se puede juzgar el carácter anterior. Si no es un carácter de nueva línea, se debe agregar la última línea de estadísticas.
El código es el siguiente:
Supongamos que el archivo de entrada está en.txt, que existe y es legible. #include?lt;stdio.hgt;
int?main()
{
ARCHIVO?*?fp?=?NULL;?//Archivo puntero.
int?c, ?lc=0;?//c es el carácter actual del archivo, lc es el carácter anterior, utilizado para el juicio final.
int?line?=?0;?//Estadísticas de recuento de líneas
fp?=?fopen("in.txt","r");//Con solo Abra el archivo en modo lectura.
while((c?=?fgetc(fp))?=?EOF)?//Lee los caracteres uno por uno hasta el final del archivo
{
if(c?==?'\n')?line? ;?//Cuenta el número de líneas.
lc?=?c;?//Guardar el carácter anterior.
}
fclose(fp);?//Cerrar el archivo
if(lc?!=?'\n')?line ;/ / Procesar la última línea
printf("El archivo *** tiene la línea d.\n",?line);
return?0;
}
p>Ejemplo de entrada y salida:
Si in.txt tiene el siguiente contenido: test?line1
test?line2
El resultado será:
El archivo *** tiene 2 líneas.