4 réponses
Sweedi
Messages postés
53
Date d'inscription
jeudi 26 août 2010
Statut
Membre
Dernière intervention
22 octobre 2010
9
27 août 2010 à 10:02
27 août 2010 à 10:02
Bonjour,
le premier paramètre du main correspond au nombre de paramètre que tu a donner au programme, le deuxieme paramètre est un tableau de chaine de charactère, il suffit donc de récupérer les valeurs dans ce tableau, attention le premier paramètre est le nom de ton programme
il ne te reste qu'a definir fonctionChargerFichier
le premier paramètre du main correspond au nombre de paramètre que tu a donner au programme, le deuxieme paramètre est un tableau de chaine de charactère, il suffit donc de récupérer les valeurs dans ce tableau, attention le premier paramètre est le nom de ton programme
int main (int argc, char **argv) { if(argc>1) fonctionChargerFichier(argv[1]); }
il ne te reste qu'a definir fonctionChargerFichier
Merci pour la réponse,
mais la fonction charger fichier dois faire quoi au juste ?
Je sais très bien que dans argc je vais trouver la valeur 4
argv[0]=client_ASR
argv[1]=-parm=timout:1800ms#sos:1
argv[2]=-fichier=x.wav
argv[3]=-grammar=load_grammar:Essaie.grxml
mon problème réside que je dois traiter tout d'un seul coup, pour le argv[1] par exemple je dois vérifier que ça commencer par -param ensuite prendre la valeur timeout dans une chaine et la valuer 1800ms dans une autre. Ensuite je devrais voir s'il y a encore des paramètres à affecter et et cela et possible s'il y a le '#'. du coup une autre fois je dois chopper sos dans une chaine et la valeur 1 dans une autre.
et Ainsi de suite pour les autre argv[]
Pour ma part je trouve pas simple du tout :(
mais la fonction charger fichier dois faire quoi au juste ?
Je sais très bien que dans argc je vais trouver la valeur 4
argv[0]=client_ASR
argv[1]=-parm=timout:1800ms#sos:1
argv[2]=-fichier=x.wav
argv[3]=-grammar=load_grammar:Essaie.grxml
mon problème réside que je dois traiter tout d'un seul coup, pour le argv[1] par exemple je dois vérifier que ça commencer par -param ensuite prendre la valeur timeout dans une chaine et la valuer 1800ms dans une autre. Ensuite je devrais voir s'il y a encore des paramètres à affecter et et cela et possible s'il y a le '#'. du coup une autre fois je dois chopper sos dans une chaine et la valeur 1 dans une autre.
et Ainsi de suite pour les autre argv[]
Pour ma part je trouve pas simple du tout :(
Sweedi
Messages postés
53
Date d'inscription
jeudi 26 août 2010
Statut
Membre
Dernière intervention
22 octobre 2010
9
27 août 2010 à 10:25
27 août 2010 à 10:25
En effet ce n'est pas simple du tout mais je comprend deja mieux ce que tu veut faire :) ...
sa pourrait ressembler a sa:
après il ne te reste qu'a utiliser param[];
bon il doit y avoir des erreurs je vien de l'écrire mais c'est un peu près comme sa que tu y arrivera.
j'espere t'avoir aidé
sa pourrait ressembler a sa:
char * tamp; char param[NOMBRE_PARAM][TAILLE_PARAM]; param[0] = "parm="; param[1] = "fichier="; param[2] = "grammar="; for(i=0;i<argc;i++){ if((tamp = strstr(argv[i], chaineCherchée[i])) != NULL){ strcpy(param, tamp); } }
après il ne te reste qu'a utiliser param[];
bon il doit y avoir des erreurs je vien de l'écrire mais c'est un peu près comme sa que tu y arrivera.
j'espere t'avoir aidé