Argc et argv
sdow
-
toto -
toto -
Bonjour,
j'aimerais aller recouperer les parametres de argv : je ne sais pas ou est mon probeme :
void InitVarARGV(int argc, char *argv[])
{
int i=0;
for (i =0; i < argc-1; i++)
{
puts("\n Affiche les paramètres en ordre croissant \n");
if(strncmp(argv[i],"-mg=",4)==0)
{
//if(argv[i][4]!='\0')
//{
puts("\n Affiche les paramètres en ordre croissant \n");
nMg= atoi(&argv[i][4]);
printf("%n =mg\n", nMg);
//}
}
if(strncmp(argv[i],"-mh=",4)==0)
{
//if(argv[i][4]!='\0')
//{
nMh= atoi(&argv[i][4]);
printf("%n =nMh\n", nMh);
//}
}
if(strncmp(argv[i],"-lp=",4)==0)
{
//if(argv[i][4]!='\0')
//{
nLp= atoi(&argv[i][4]);
printf("%n =lp\n", nLp);
//}
}
if(strncmp(argv[i],"-t=",3)==0)
{
//if(argv[i][4]!='\0')
//{
nTab= atoi(&argv[i][3]);
printf("%n =t\n", nTab);
//}
}
if(strncmp(argv[i],"-np",3)==0)
{
nNp=1;
printf("%n =np\n", nNp);
}
if(strncmp(argv[i],"-nl",3)==0)
{
nNl=1;
printf("%n =nl\n", nNl);
}
if(strncmp(argv[i],"-h",2)==0)
{
nH=1;
printf("%n =h\n", nH);
}
}
}
j'aimerais aller recouperer les parametres de argv : je ne sais pas ou est mon probeme :
void InitVarARGV(int argc, char *argv[])
{
int i=0;
for (i =0; i < argc-1; i++)
{
puts("\n Affiche les paramètres en ordre croissant \n");
if(strncmp(argv[i],"-mg=",4)==0)
{
//if(argv[i][4]!='\0')
//{
puts("\n Affiche les paramètres en ordre croissant \n");
nMg= atoi(&argv[i][4]);
printf("%n =mg\n", nMg);
//}
}
if(strncmp(argv[i],"-mh=",4)==0)
{
//if(argv[i][4]!='\0')
//{
nMh= atoi(&argv[i][4]);
printf("%n =nMh\n", nMh);
//}
}
if(strncmp(argv[i],"-lp=",4)==0)
{
//if(argv[i][4]!='\0')
//{
nLp= atoi(&argv[i][4]);
printf("%n =lp\n", nLp);
//}
}
if(strncmp(argv[i],"-t=",3)==0)
{
//if(argv[i][4]!='\0')
//{
nTab= atoi(&argv[i][3]);
printf("%n =t\n", nTab);
//}
}
if(strncmp(argv[i],"-np",3)==0)
{
nNp=1;
printf("%n =np\n", nNp);
}
if(strncmp(argv[i],"-nl",3)==0)
{
nNl=1;
printf("%n =nl\n", nNl);
}
if(strncmp(argv[i],"-h",2)==0)
{
nH=1;
printf("%n =h\n", nH);
}
}
}
1 réponse
Bonjour
J'ignore dans quel environnement de développement tu travailles, mais normalement les paramètres argc et argv sont passé par le système d'exploitation à la fonction main, et à la fonction main seulement. C'est dans la fonction main que tu peux les récupérer.
Si tu réécris ta propre fonction en donnant les mêmes noms à des paramètres, ils n'auront a priori aucun rapport avec ceux de la fonction main (de même que quand tu écris 2 fonction toto(int x) et tata(int x), les deux 'x' n'ont aucun rapport entre eux)
J'ignore dans quel environnement de développement tu travailles, mais normalement les paramètres argc et argv sont passé par le système d'exploitation à la fonction main, et à la fonction main seulement. C'est dans la fonction main que tu peux les récupérer.
Si tu réécris ta propre fonction en donnant les mêmes noms à des paramètres, ils n'auront a priori aucun rapport avec ceux de la fonction main (de même que quand tu écris 2 fonction toto(int x) et tata(int x), les deux 'x' n'ont aucun rapport entre eux)