MaxGuevara
13-02-2009, 18:22
Ciao a tutti.
Sto scrivendo un programma che si connette ad un canale irc.
Vorrei far si che quando e' entrato nel canale,e,per esempio,un altro utente scrive in chat "ls",questi esegua sulla shell "ls" ed outputti nel canale IRC il risultato..
avevo pensato ad una cosa simile,che pero' e' incompleta:
char *ls=":ls"
FILE *in,*out;
in=fdopen(ds,"r");
out=fdopen(ds,"a");
fscanf(in,"%s",buffer);
if(strcmp(buffer,ls)==0)
*Esegui comando su shell ed outputtalo in chat*
ora, ds e' il socket e buffer e' cio' che viene scritto nella chat su irc...
La parte che mi interessa e' quella tra asterischi.Vorrei,appunto,che il comando venisse eseguito dal programma in locale (pensavo a funzioni tipo system("ls") ma non saprei come incanalare i dati in un buffer) e poi redirezionarlo sul canale irc,con un comando tipo:
fprintf(out,"PRIVMSG %s : %s",nome_canale,risultato_del_comando_ls);
Spero di essere stato chiaro.
Grazie a tutti in anticipo.
Sto scrivendo un programma che si connette ad un canale irc.
Vorrei far si che quando e' entrato nel canale,e,per esempio,un altro utente scrive in chat "ls",questi esegua sulla shell "ls" ed outputti nel canale IRC il risultato..
avevo pensato ad una cosa simile,che pero' e' incompleta:
char *ls=":ls"
FILE *in,*out;
in=fdopen(ds,"r");
out=fdopen(ds,"a");
fscanf(in,"%s",buffer);
if(strcmp(buffer,ls)==0)
*Esegui comando su shell ed outputtalo in chat*
ora, ds e' il socket e buffer e' cio' che viene scritto nella chat su irc...
La parte che mi interessa e' quella tra asterischi.Vorrei,appunto,che il comando venisse eseguito dal programma in locale (pensavo a funzioni tipo system("ls") ma non saprei come incanalare i dati in un buffer) e poi redirezionarlo sul canale irc,con un comando tipo:
fprintf(out,"PRIVMSG %s : %s",nome_canale,risultato_del_comando_ls);
Spero di essere stato chiaro.
Grazie a tutti in anticipo.