bon ca ca passe mais après je passe ma chaine dans une fonction comme ca:
int main(void)
{
//booleen
int sortir=0;
char cmd[512];
//recuperation de la variable d'environement PATH
char *path=getenv("PATH" );
while(!sortir)
{
printf("Commande>" );
scanf("%s",&cmd);
printf("%s\n", cmd);
sortir=verifCMD(cmd);
}
}
int decoupageChaine(char *commande, char *chaine)
{
int i=0,z,y;
char *tmp;
while(commande[i]!=0)
{
if(commande[i]!=' ')
{
printf("decoupage%s\n",commande[0]);
chaine[i]=commande[i];
i++;
}
else
{
chaine[i]='0';
i++;
for(z=i,y=0;z<strlen(commande);z++,y++)
{
tmp[y]=commande[z];
}
tmp[y]=0;
strcpy(commande,tmp);
return 0;
}
}
chaine[i]=0;
return -1;
}
//extern char *path;
int verifCMD(char *commande)
{
int pos=-1,i=0;
char *chaine;
char **tabCMD=(char **)malloc(sizeof(char *));
//decoupage des arguments de la commande dans tabCMD
while(decoupageChaine(commande,chaine)!=-1)
{
printf("boucle\n" );
printf("%s",chaine);
*(tabCMD+i)=chaine;
i++;
}
return 0;
}
Message édité par rosminet le 04-12-2003 à 22:13:18