IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[c++]Quel code avoir pour utiliser les arguments en ligne de commande?


Sujet :

C++

  1. #21
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Citation Envoy� par koala01
    d'autant plus que je ne connais absolument pas boost::progam_option et que, si ca se trouve, elle permet d'automatiser ce genre de choses
    Oouii. Et surtout elle permet d'associer des variables typ�es du code � des options. Un peu comme en perl. Et �a, c'est �norme.

    Maintenant, pour son exercice de C, je doute que cela lui soit tr�s utile.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  2. #22
    Membre �m�rite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    D�tails du profil
    Informations personnelles :
    �ge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par d�faut
    Citation Envoy� par Luc Hermitte
    Oouii. Et surtout elle permet d'associer des variables typ�es du code � des options. Un peu comme en perl. Et �a, c'est �norme.
    s'il vous plait pourrait-on avoir un tutorial ?

  3. #23
    Expert confirm�
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par d�faut
    Pour cela, l'outil magique s'appelle Google! Voici un lien excellent:
    http://www.cs.brown.edu/~jwicks/boos...m_options.html

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  4. #24
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    54
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 54
    Par d�faut
    Merci vous tous!
    Je viens de jeter un coup d'oeil a BoostPrograms options...cest bien cela que je dois faire!
    genre nom.exe- c,
    nom.exe -a
    nom.exe -blabla...

    Surtout que mon code ne fonctionne pas en fait!

    il inverse!!??
    if(argc==2 && strcmp(argv[1], "-c") )
    et if(argc==2 && strcmp(argv[1], "-a") )

    me fait le code de "a" quand je lance le programme avec -c et inversement...

    Mais Boostprogramm options ma lair complique....

  5. #25
    Membre �prouv�
    Profil pro
    Inscrit en
    F�vrier 2005
    Messages
    88
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 88
    Par d�faut
    La fonction strcmp renvoie 0 quand les deux chaines sont �gales.
    Donc il faut faire
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    if(argc==2 && !strcmp(argv[1], "-c") )
    et if(argc==2 && !strcmp(argv[1], "-a") )

  6. #26
    Membre averti
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    54
    D�tails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 54
    Par d�faut
    Merci!

    Je close le sujet...
    cela fonctionne:

    if(argc==2 && strcmp(argv[1], "-c")==0 )

    C'est a premiere vue identique au code de frenchi puisque lui compare avec l'inverse (!)

    Boost_programmes jai essayer il m'a dit pleins d'erreurs... je savais pas comment le declarer nom plus...
    jai essayer "using namespace po = boost::program_options;"
    mais cela n'avais pas lair detre cela...

    Comme je disais jai malheureusement pas le temps de m'ebattre a regarder tout! Deadline cest demain et jai 11 parametres de lignes de commandes a faire!!!
    Avec des cas genre inverser les tableaux et tout...

    Merci beaucoup pour vos aides en tout cas!

    tres utiles!

  7. #27
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Citation Envoy� par epsilon68
    [...boost.program_option...]s'il vous plait pourrait-on avoir un tutorial ?
    Un tutoriel, c'est un peu beaucoup demand�.
    Le lien qu'a donn� mujigka semble �tre un mirroir vers la doc officielle, autant pointer vers elle.

    Autrement, tout ce que je peux "donner" pour l'instant, c'est un exemple d'utilisation sur un projet qui traine depuis trop longtemps.

    On y voit:
    - des variables typ�es directement associ�es des options, sans que l'on ait besoin de rien faire de plus notre c�t� -- i.e. pas de find(), switch, ... Sans �tre aussi clean que l'�quivalent perl, je trouve que c'est d�j� pas mal du tout
    - on peut toujours demander � voir la valeur d'une option non associ�e � une variable C++
    - un truc qui permet de fusionner des listes d'options -> "-k 1,2 -k 42" ; En utilisant juste un vecteur au lieu de mon CommaSepList, "1" et "2" n'auraient pas �t� compris comme deux arguments diff�rents, mais la fusion aurait tout de m�me �t� au rendez-vous.
    - des options avec ou sans arguments ; des options courtes et/ou longues
    - que la doc est embarqu�e dans la d�finition des options -> pas forc�ment tr�s clair � relire du coup
    - et diverses autres choses.

    Quelques petits probl�mes:
    - la doc g�n�r�e rajoute un "arg" en plus, ce qui me g�ne un peu par rapport � ce que j'aurais voulu obtenir (cf cyg-wrapper.sh � la racine du r�pertoire cygwin de mon site)
    - un bug semble-t-il avec la gestion des param�tres qu'il faudrait ignorer au lieu de lever une exception
    - un empreinte pas si n�gligeable (compar� aux autres outils cygwin), que je soup�onne venir de l'utilisation des IOStreams standard.

    boost.program_options est puissant et pratique (� quelques d�tails pr�s), mais je ne pense pas que cela soit le genre de choses que l'on puisse employer dans un devoir � rendre.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  8. #28
    Membre �m�rite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    D�tails du profil
    Informations personnelles :
    �ge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par d�faut
    Merci...
    Je vais jeter un oeil :-)

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 2 sur 2 Premi�rePremi�re 12

Discussions similaires

  1. R�ponses: 1
    Dernier message: 29/08/2012, 14h36
  2. [EJB] Quelles bonnes pratiques pour utiliser les transactions "en ligne"?
    Par kisitomomotene dans le forum Java EE
    R�ponses: 1
    Dernier message: 12/12/2011, 20h22
  3. Quels modules Perl pour g�rer les documents XML ?
    Par djibril dans le forum Modules
    R�ponses: 8
    Dernier message: 02/12/2010, 23h54
  4. R�ponses: 1
    Dernier message: 30/06/2006, 15h49
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    R�ponses: 3
    Dernier message: 12/05/2004, 18h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo