slt tout le monde !
j'ai cette fonction qui me fait un recouvrement d'un processus pour executer une commande en avant plan ! mais je ne sais pas pourquoi elle m'affiche pas le résultat ? et pourtant quand je l'ai testé toute seule dans un programme ça a bien marché ? voici son code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
void avantplan(char comm[80]) 
{
    int pid,i=0;
    char *file;
    char *argv[10];
    char *B;
    char *res;
    char *comup;
    comup = strdup(comm);
    res = strtok_r(comup," ",&B);
    if (res != NULL) file =res; else res=comm;
    while(res != NULL)
    {
      argv[i]=res;
      i++;
      res = strtok_r(NULL," ",&B);
    }
     argv[i]=NULL;
    /* création de processus */
    pid = fork();
    switch (pid) {
    case -1: /*erreur produite lors du fork*/
        exit(1);
        break;
    case 0:
        /* PROCESSUS FILS */
        execvp(file,argv);
        exit(0); /* fin du processus fils */
        break;
    default:
        /* PROCESSUS PERE */
        wait(0); /* attente de la fin du fils */
    }
}
et je l"ai appelé comme suit dans le programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
char commande [80] ;
.......
avantplan(commande);
a votre avis pourquoi
merci d'avance