Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: aveigal en 30 Diciembre 2014, 12:30 pm



Título: Ayuda Programilla relleno plantilla
Publicado por: aveigal en 30 Diciembre 2014, 12:30 pm
Hola

Me han solicitado que haga una pequeña aplicación que rellene unos campos de una plantilla de configuración y después de rescatar mis apuntes he llegado a un punto donde no se como seguir.

Se trata de solicitar 4 datos al usuario y cubrir una plantilla con ellos.

En concreto:

- IP LAN. -> 000.000.000.000
- USER. -> XXXXXXXXXX
- PASS. -> YYYYYYYYYY

Una vez hecho esto debe rellenarlo en la plantilla:

<?xml version="1.0" encoding="utf-8"?>

<config>

   <InternalIPs>
      <InternalIP_0>
         <IP> 192.168.1.1 </IP>
         <NetMask> 255.255.255.0 </NetMask>
      </InternalIP_0>
      <InternalIP_1>
         <IP> 000.000.000.000 </IP>
         <NetMask> 255.255.255.240 </NetMask>
      </InternalIP_1>
   </InternalIPs>

   <InternalRoutes>
      <InternalRoute_0>
         <Gateway> 192.168.0.254 </Gateway>
      </InternalRoute_0>
   </InternalRoutes>

   <GSM>
      <MobileUsername> XXXXXXXXXX</MobileUsername>
      <MobilePassword> YYYYYYYYYY</MobilePassword>



Una vez cubierto debe guardarlo en un TXT.

Se me han ocurrido varias alternativas pero no se como realizarlas.

- Imprimir como texto la plantilla y donde corresponda que imprima la variable. (interpreta el codigo de la plantilla por lo que no compila y no se como decirle que es texto que no lo debe interpretar).

- Que busque el campo donde debe introducir la variable.

- Que introduzca la variable en una línea en concreto (ya que puedo ajustar las líneas para que coincida que al meter la variable en ella el router trague con la configuración.


Hasta ahora éste es el código que he creado.

#include <stdio.h>

int main()     
{

   
// Declaramos las variables

    char ICT [10]; // Identificador del CT
    char IPLAN [13]; // IP LAN
    char USER [10]; // Usuario del Radius
    char PASS [10]; // Password Radius
    char PARTE1 [1000]; // Parte 1 de la plantilla 
    FILE *FICHERO;

// Creamos el fichero

    FICHERO = fopen("profile.epr", "w");
   /* if (FICHERO == NULL)
    {
       printf ("Error al crear el fichero.\n");
       exit(1);
    }*/
   
 // Solicitamos los datos
     
    printf ("\nIntroduce el identificativo del CT.\n\n");
    fgets (ICT, 15, stdin);
   
    printf ("\nIntroduce la IP LAN\n\n");
    fgets (IPLAN, 15, stdin);
   
    printf ("\nIntroduce el USER\n\n");
    fgets (USER, 15, stdin);

    printf ("\nIntroduce el PASSWORD\n\n");   
    fgets (PASS, 15, stdin);
   
   fprintf(FICHERO,"%s%s%s%s",ICT,IPLAN,USER,PASS);
 
 
   //fclose(f);

   
    return 0;
}






Muchas gracias por vuestra ayuda.