Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ank3r en 19 Abril 2014, 18:25 pm



Título: Ayuda - interprete, archivos y sockets..
Publicado por: ank3r en 19 Abril 2014, 18:25 pm
Bueno lo te tengo que hacer para un trabajo práctico es hacer un interprete.c que lea un script, tome su contenido y lo envíe por socket AF_INET (si no me equivoco) a otro proceso.

Osea yo tengo un script que en su encabezado le pongo en el Shebang el ejecutable del interprete.c. El script tiene una serie de funciones en un lenguaje determinado que no viene al caso:

Código:
#!/proyectos/interprete
leercopiar(var,var2);
loquesea

yo por ahora conseguí hacer algo bien simple: que cuando ejecuto el script por terminal ./miScript me imprime el contenido del mismo. El interprete lo hice así:

Código:
#include <stdio.h>
#include <stdlib.h>


int main() {

FILE *s;

s=fopen("miScript.sh","r");

if( s==NULL )
printf("Error al abrir el script\n");

else
{
while( !feof(s) )
printf("%c",getc(s));
}
}



Esto era una prueba de si me había salido el tema del interprete.

Ahora, lo que tengo que hacer es que el interprete.c haga lo siguiente:

1) Tome un archivo guardado en disco (contiene un puerto e IP a otro proceso, osea a otro proceso.C) que debe ser referenciado como una variable de entorno  :huh: (mi duda es seguramente muy elemental, y es cómo decirle al interprete.c que archivo abrir del disco y referenciarlo como variable de entorno

2) Tiene que recibir este script, tomar su contenido y mandárselo por socket (la info esta en el archivo anteriormente mencionado) a este proceso.c (este proceso.c hará otras cosas que no vienen al caso)

3) Quedarse a la espera de mensajes con valores para mostrar por pantalla.


Este no es todo el trabajo práctico, es sólo una mínima fracción del mismo, pero si entiendo estas cosas, me va a facilitar a resolver las demás.
Seguramente algunas cosas deben ser muy elementales, el tema es que recién empiezo con C y tengo que hacer esto. Tengo el libro de ritchie y kernighan a mano, pero como se imaginaran tiene tanto contenido que no sé por donde empezar y la entrega es pronto
Espero respuestas, desde ya gracias.