On Monday 24 June 2002 05:27 pm, Dorin Lazar wrote:
> daca vrei sa rulezi un "ls -la" se poate in doua feluri
> 1) system
> if (system("ls -la"))
> printf("comanda a eshuat\n");
> else
> printf("succes");
>
> 2) varianta 'grea'
> extern char **environ;
> int status;
> int PID = fork();
> if (PID>0) {
> char **comanda = malloc (sizeof(char*)*3);
> comanda[0] = "ls";
> comanda[1] = "-la";
> comanda[2] = NULL;
> execve ("/bin/ls", comanda, environ);
> printf ("Eroare exec");
> exit(1);
> }
> else
> if (PID<0) {
> printf ("eroare fork");
> exit(1);
> }
> wait(&status);
Am testat varianta "grea" si functioneaza bine atunci cand totul e OK. Dar eu
lucrez la o aplicatie cu interfata grafica, si comanda execve imi distruge
enviroment-ul, deci nu mai pot sa afisez un messagebox care sa-l avertizeze
pe user ca e ceva in neregula.
--
Serghei.
---
Pentru dezabonare, trimiteti mail la
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/