Escriba un programa en C que muestre el contenido de un archivo dado como la utilidad ‘más’ en Linux

Escriba un programa en C que muestre el contenido de una línea determinada página por página. Dada la cantidad de líneas para mostrar como ‘n’ a la vez y un nombre de archivo, el programa primero debe mostrar n líneas, luego esperar a que el usuario presione una tecla antes de mostrar las siguientes n líneas y así sucesivamente.

Recomendamos encarecidamente minimizar el navegador y probarlo usted mismo primero.

Podemos abrir el archivo dado e imprimir el contenido de los archivos. Mientras imprimimos, podemos realizar un seguimiento del número de caracteres de nueva línea. Si el número de caracteres de nueva línea se convierte en n, esperamos a que el usuario presione una tecla antes de mostrar las siguientes n líneas.

El siguiente es el programa C requerido.

// C program to show contents of a file with breaks
#include <stdio.h>
  
// This function displays a given file with breaks of
// given line numbers.
void show(char *fname, int n)
{
    // Open given file
    FILE *fp = fopen(fname, "r");
    int curr_lines = 0, ch;
  
    // If not able to open file
    if (fp == NULL)
    {
        printf("File doesn't exist\n");
        return;
    }
  
    // Read contents of file
    while ((ch = fgetc(fp)) != EOF)
    {
        // print current character
        putchar(ch);
  
        // If current character is a new line character,
        // then increment count of current lines
        if (ch == '\n')
        {
            curr_lines++;
  
            // If count of current lines reaches limit, then
            // wait for user to enter a key
            if (curr_lines == n)
            {
                curr_lines = 0;
                getchar();
            }
        }
    }
  
    fclose(fp);
}
  
// Driver program to test above function
int main()
{
    char fname[] = "A.CPP";
    int n = 25;
    show(fname, n);
    return 0;
}

Este artículo es una contribución de Ajay Jain . Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *