C/Visual C - Ayuda sobre un progrma q realice lo q el include

 
Vista:

Ayuda sobre un progrma q realice lo q el include

Publicado por JesFD (1 intervención) el 03/01/2003 19:05:23
Necesito ayuda para realizar un programa que relice la misma función que la directiva include pero con funcionalidad reducida...(en lenguaje C)
Interesados en ayudarme les mandaré los requisitos del "mini" programa..
GRACIAS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Creación de un "mini" programa similar a la directiva `#include` en C

Publicado por Alejandro (980 intervenciones) el 23/04/2025 23:29:06
Para crear un programa en C que simule la funcionalidad de la directiva `#include` pero con funcionalidades reducidas, puedes seguir estos pasos. Este "mini" programa leerá el contenido de un archivo y lo incluirá en otro archivo, pero sin las características completas de preprocesador de C.

Requisitos del programa



1. Leer un archivo de texto: El programa debe poder abrir y leer un archivo de texto que contenga código o texto.
2. Incluir el contenido en otro archivo: El contenido leído debe ser escrito en un archivo de salida.
3. Manejo de errores: Debe manejar errores al abrir archivos.

Ejemplo de implementación



Aquí tienes un ejemplo básico de cómo podría ser este programa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <stdlib.h>
 
void mini_include(const char *filename, const char *output_file) {
    FILE *input_file = fopen(filename, "r");
    if (input_file == NULL) {
        perror("Error al abrir el archivo de entrada");
        return;
    }
 
    FILE *output = fopen(output_file, "a"); // Abrir en modo append
    if (output == NULL) {
        perror("Error al abrir el archivo de salida");
        fclose(input_file);
        return;
    }
 
    char line[256]; // Buffer para leer líneas
    while (fgets(line, sizeof(line), input_file)) {
        fputs(line, output); // Escribir la línea en el archivo de salida
    }
 
    fclose(input_file);
    fclose(output);
}
 
int main(int argc, char *argv[]) {
    if (argc != 3) {
        printf("Uso: %s <archivo_entrada> <archivo_salida>\n", argv[0]);
        return 1;
    }
 
    mini_include(argv[1], argv[2]);
    printf("Contenido de %s incluido en %s\n", argv[1], argv[2]);
    return 0;
}

Cómo funciona el programa



1. Función `mini_include`: Esta función toma dos argumentos: el nombre del archivo de entrada y el nombre del archivo de salida. Abre el archivo de entrada para lectura y el archivo de salida para agregar contenido.
2. Lectura y escritura: Utiliza `fgets` para leer el archivo de entrada línea por línea y `fputs` para escribir cada línea en el archivo de salida.
3. Manejo de errores: Se verifica si los archivos se abren correctamente y se manejan los errores con `perror`.
4. Función `main`: Comprueba que se pasen los argumentos correctos y llama a `mini_include`.

Compilación y ejecución



Para compilar y ejecutar el programa, puedes usar un compilador de C como `gcc`. Aquí tienes un ejemplo de cómo hacerlo:

1
2
gcc -o mini_include mini_include.c
./mini_include archivo_entrada.txt archivo_salida.txt

Este programa es un punto de partida y puedes expandirlo según tus necesidades, como agregar más funcionalidades o mejorar el manejo de errores. ¡Espero que esto te ayude a comenzar, JesFD!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar