Récuperer des arguments [C] - Programmation
Marsh Posté le 29-07-2001 à 21:59:08
ben je peux me tromper mais je crois que tu dois faire ton main comme ca:
main(int argc, char **argv) {
argc sera le nb d'arguments (je crois qu'y tjs min un argumennt meme si passe rien)
argv[n] sera le nieme argument (ca commence pt'etre a 0 suis pas sur)
voila, sous dos je sais pas mais avec linux c ainsi que je fais
Marsh Posté le 29-07-2001 à 22:12:55
**argv? j'pige pas trop ta syntaxe!
et surtout si en fait on dois le passer en argv[n]
Et là je ne vois pas comment ni ou je récupère les arguements pour les utiliser!
Marsh Posté le 29-07-2001 à 22:36:56
fais un truc du genre ca
int main(int ac , char **argv)
{
if(ac != 3)
printf("Manque des arguments\n" );
else
view_args(argv[1] , argv[2]); /* argv[0] cest le nom de l exe */
return (0);
}
int view_arg(char *arg1 , char *arg2)
{
printf ("ARG1 recupere : %s\nARG2 recupere : %s\n" , arg1 , arg2);
return (0);
}
pas besoin de foutre de "-" mais teste ca
[edtdd]--Message édité par R@NNIS--[/edtdd]
Marsh Posté le 29-07-2001 à 22:43:21
merci bcp!
par contre comment se fait il qu'il y ai une syntaxe du C propre à linux?
Marsh Posté le 29-07-2001 à 22:48:53
je sais pas si cest propre a linux
mais je programme ke la dessus donc si le compilateur gere ca differement ...
il est possible ke l argv[n] coreesponde pas a ce ke j ai dis mais k il soit incremente de 1 ou decremente de 1 .. testes tu verras
Marsh Posté le 30-07-2001 à 02:40:09
Le main, c'est totallement standardise.
La ligne de commande est decoupee en chaines de caracteres, les blancs etant consideres comme des separateurs.
d'ou le char** correspondant a un tableau de chaines de caracteres.
A+,
Marsh Posté le 29-07-2001 à 21:56:06
j'ai un programme appellé toto.exe
si je décide de lancer le programme toto.exe de la facon suivante :
c:\toto.exe -argument1 - argument2
je voudrais pouvoir récuperer ces arguments dans mon programme.
Comment faire?