Red de conocimiento informático - Material del sitio web - Cómo contar el número de líneas de archivos en Linux usando lenguaje C

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.