FORUM Tom's Hardware » Programmation » C / C++ / Java » argument de la fonction main
 

argument de la fonction main

99 utilisateurs inconnus
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : argument de la fonction main
 
Plus d'informations

:jap: Bonjour,
quelqu'un peut m'expliquer ce bout du code:

Code :
  1. void main(int argc, char* argv[]) //=======ici????????????????
  2. {
  3.  
  4.   if (argc < 5){            //=========et là??????????
  5.       printf("Usage: %s <dim> filename idxname 0/1 (create/search)\n",argv[0]);//getch();
  6.       exit(0);
  7.   }
  8.   strcpy(filename, argv[2]);
  9.   strcpy(idxname, argv[3]);
  10.   int option=atoi(argv[4]);    // 0 for construct, 1 for load and query
  11.   ndim = atoi(argv[1]);
  12. }


je vi=uet savoir l'utilisation des paramétres de la fonction main argc et argv..?
merci[url]

G.M.G.V.S.O.
Profil : Modo matériel
Plus d'informations

Je me demandes si tu as un peu chercher avant de poser la question :ange:

Spoiler :

argc -> Arguments Count = Nombre d'arguments passés au programme
argv -> Arguments Value = Valeurs de ces arguments


---------------
SPAM & WAREZ = Ban!
Ultimate Boot CD | Memtest+
Mon bar préféré à Lyon ! | Bijoux Fantaisie de Créateur !
Profil : Pointeur
Plus d'informations

et google c'est pour les plombiers polonnais ?? :fou:

Plus d'informations

oui j'ai cherché. j'ai pas compris grand chose............?

Profil : Pointeur
Plus d'informations

bha c'est qu'il est temps de t'acheter un bouquin :o

C is a sharp tool
Plus d'informations

a écrit :

oui j'ai cherché. j'ai pas compris grand chose............?


http://mapage.noos.fr/emdel/images/c_warn.png


---------------
Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/

 

pourquoi faire cent fois la même chose ?
Plus d'informations

dans son code on déclare un int en plein millieu du code, ça ne ressemble pas trop à du C ...

C is a sharp tool
Plus d'informations

elch a écrit :

dans son code on déclare un int en plein millieu du code, ça ne ressemble pas trop à du C ...


Ca peut ressembler à du C99...


---------------
Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/

 

Plus d'informations

Citation :

Batchy a écrit :
dans son code on déclare un int en plein millieu du code, ça ne ressemble pas trop à du C ...



Bonjour, d'abord a ma seul connaissance, y'a que le C++ qui accepte de declarer une variable en plein milieu d'un programme pas le C.
Le C ne l'autorise que en debut de bloc:

Code :
  1. /*debut programme*/
  2. { int temp;
  3. /*suite bloc*/
  4. }
  5. /*fin programme*/


est le mieux que tu puisse faire en C mais ta variable est locale au bloc, sortie du bloc elle n'existe plus.

pour les arguments de la fonction main:
l'entier sert a compter le nombre d'argument de ton programme, c'est a dire que si tu lance dans un shell:
# mon_programme arg1 arg2
ben ton entier prendra la valeur 3 (+ 1 pour le nom du prog).
Le pointeur de tableau de caractere (tu peut aussi mettre un char**) permet de stocker les chaine de caractere des arguments.
Ici argv[0] = mon_programme, argv[1] == arg1, argv[2] = arg2.

Voili voilou, c'est pas plus dure.

Message cité 1 fois
Message édité par fylen le 09-03-2006 à 00:37:09
zeb
Profil : Modérateur libre
Plus d'informations

a écrit :

[d'abord a ma seul connaissance, y'a que le C++ qui accepte de declarer une variable en plein milieu d'un programme pas le C.
Le C ne l'autorise que en debut de bloc.


A ta seul connaissance, alors. :D

Si, c'est autorisé, même en C. Alors après pour savoir quelle norme ou standard précisément, demander à Emmanuel ;)

Faire un test avec VC++ ou GCC qui sont polyglotes n'est pas pertinent.
Par contre mon bon vieux CC sous AIX, accepte par défaut, mais n'accepte plus si je l'invoke en C89.

En 2006, il n'est donc pas interdit d'utiliser la norme de 1999.

Profil : Pointeur
Plus d'informations

il parle bien de bloc, donc il a raison, en C, pas de déclaration au milieux d'un bloc ;)

C is a sharp tool
Plus d'informations

a écrit :

il parle bien de bloc, donc il a raison, en C, pas de déclaration au milieux d'un bloc ;)


Je persiste, c'est autorisé en C99 (mais je ne le recommande pas)


---------------
Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/

 

Profil : Pointeur
Plus d'informations

pourquoi pas recommendé ?

je fait pas mal de delphi ces temps ci et c'est une des choses qui me plait le moins (a part borland) dans ce language, c'est la prédéclaration des variables :/

C is a sharp tool
Plus d'informations

a écrit :

pourquoi, pas recommandé ?
je fait pas mal de delphi ces temps ci et c'est une des choses qui me plait le moins (a part borland) dans ce language, c'est la prédéclaration des variables :/


J'aime bien que les variables soient définies en début de bloc (j'ai pas dit 'de fonction') afin que la portée soit limitée au minimum.

http://mapage.noos.fr/emdel/notes.htm#portee

Mais je n'aime pas la définition au milieu d'un bloc (C99 ou à-la-C++), car je n'arrive pas à en cerner la portée clairement.


---------------
Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/

 

Profil : Pointeur
Plus d'informations

donc on est d'accord, en début de bloc...

zeb
Profil : Modérateur libre
Plus d'informations

Vous opposez le classique au moderne. (sans connotation de mieux ou de pire dans un sens ou dans l'autre). Donc, il n'y a pas de meilleure façon de faire.

En revanche, en C, il est tellement facile de coder SALE, qu'il vaut mieux se prévoir des garde-fou.

Alors darouine, quand tu liras un code avec une déclaration en plein milieu, tu ne t'en choqueras point, et quand tu auras à rédiger un bout de code, tu déclareras tes variables au début des blocs.

J'ai bon ?

Plus d'informations

hé ben .. pauvre petit darouine ... c'est du remballage express ... lol

Ben main(), c'est simplement une fonction comme une autre qui peut avoir des arguments. (dites moi si je me trompe ;) .. car le c,c++,java ca remonte pour moi et j'ai peur de confondre certaines notions )


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » C / C++ / Java » argument de la fonction main
 

Annonces Google
Publicité