Programa C para leer un rango de bytes del archivo e imprimirlo en la consola

Dado un archivo F , la tarea es escribir un programa C para imprimir cualquier rango de bytes del archivo dado e imprimirlo en una consola.

Funciones utilizadas:

  1. fopen() : El archivo como “a” o “a+” o “w” o “w++” .

Acercarse:

  • Inicialice un puntero de archivo , diga Archivo *fptr1 .
  • Inicialice una array para almacenar los bytes que se leerán del archivo.
  • Abra el archivo usando la función fopen() como fptr1 = fopen(argv[1], “r”) .
  • Itere un ciclo hasta que el archivo dado se lea y almacene, los caracteres se escanean en la variable, digamos C usando la función fgetc() .
  • Almacene cada carácter C extraído en el paso anterior, en una nueva string S e imprima esa string usando la función printf() .
  • Después de completar los pasos anteriores, cierre el archivo con la función fclose() .

A continuación se muestra la implementación del enfoque anterior:

C

// C program to read particular bytes
// from the existing file
#include <stdio.h>
#include <stdlib.h>
  
// Maximum range of bytes
#define MAX 1000
  
// Filename given as the command
// line argument
int main(int argc, char* argv[])
{
    // Pointer to the file to be
    // read from
    FILE* fptr1;
    char c;
  
    // Stores the bytes to read
    char str[MAX];
    int i = 0, j, from, to;
  
    // If the file exists and has
    // read permission
    fptr1 = fopen(argv[1], "r");
  
    if (fptr1 == NULL) {
        return 1;
    }
  
    // Input from the user range of
    // bytes inclusive of from and to
    printf("Read bytes from: ");
    scanf("%d", &from);
    printf("Read bytes upto: ");
    scanf("%d", &to);
  
    // Loop to read required byte
    // of file
    for (i = 0, j = 0; i <= to
                       && c != EOF;
         i++) {
  
        // Skip the bytes not required
        if (i >= from) {
            str[j] = c;
            j++;
        }
  
        // Get the characters
        c = fgetc(fptr1);
    }
  
    // Print the bytes as string
    printf("%s", str);
  
    // Close the file
    fclose(fptr1);
  
    return 0;
}

Producción:

Publicación traducida automáticamente

Artículo escrito por dsahir511 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 *