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

POSIX C Discussion :

getopt probleme arguments


Sujet :

POSIX C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Par défaut getopt probleme arguments
    Bonjour,
    Voila j'ai un problème d'utilisation de getopt !
    Enfaite voila ce que je cherche a faire:
    par exemple on peut écrir ca ! ./toto -o toto titi
    Apres le -o , on peut passsé le nombre d'argument que l'on veut ( si c'est possible ?)

    et ensuite ce que je cherche a faire c'est que lorsqu'on utilise -o alors on appelle une fonction foo(toto,titi);

    Est ce que j'ai raison d'utilisé getopt ...? bref merci d'avance ! ci dessous mon code !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    if((argc > 2)&&(strncmp(argv[1],"-o",2)==0)){
                            char option;
                            while ((option = getopt(argc,argv,"-ov:")) != EOF) {
                                    printf("tototo: %c",option);
                                    switch(option){
                                     case 'o':
                                            printf("ooooo\n");
                                            break;
                                    case 'v':
                                            printf("%s\n",optarg);
                                            break;
                                    }
                            }
                            printf("Affiche o\n");
    }

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Par défaut
    J'ai pas été clair....???

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    Bonsoir,
    Citation Envoyé par marty499 Voir le message
    J'ai pas été clair....???
    Pas trop.

    Si on relit le man getopt, il n'est indiqué nulle part qu'une option peut prendre deux arguments.
    Cela ne doit donc pas être possible.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Par défaut
    ok...lol
    Donc je reformule...ne pas tenir compte du code que j'ai fait voir ...ce que je souhaite faire c'est cela :

    par exemple on peut écrir ca ! ./toto -o toto titi
    Apres le -o , on peut passsé le nombre d'argument que l'on veut ( si c'est possible ?)

    et ensuite ce que je cherche a faire c'est que lorsqu'on utilise -o alors on appelle une fonction foo(toto,titi);


    Comment puis je faire ?

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Donc je reformule
    J'appelle ça un copier-coller.

    Citation Envoyé par marty499 Voir le message
    par exemple on peut écrire ça ! ./toto -o toto titi
    Après le -o , on peut passer le nombre d'argument que l'on veut ( si c'est possible ?)
    À ma connaissance, ce n'est pas possible avec getopt...

    mais on peut faire autrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int foo(const char *, const char *);
     
    int main(int argc, char *argv[])
    {
        int i;
        for(i = 1; i < (argc - 2); ++i) {
            if(0 == strncmp(argv[i], "-o", 2) {
                /* argv[i] est "-o" */
                foo(argv[i+1], argv[i+2]);
                break;
            }
        }
        return 0;
    }

  6. #6
    Invité de passage
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1
    Par défaut
    Essaye de regarder du coté de getsubopt: man 3 getsubopt

Discussions similaires

  1. GTK Callback probleme argument et structure
    Par farfouillis92 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 02/02/2012, 10h08
  2. getopt passage argument '.*'
    Par psychonaute dans le forum C
    Réponses: 1
    Dernier message: 28/01/2010, 17h18
  3. Probleme arguments de sorties matrices
    Par fuyo2004 dans le forum MATLAB
    Réponses: 2
    Dernier message: 17/06/2009, 13h15
  4. Orbacus probleme arguments.
    Par vega_55 dans le forum CORBA
    Réponses: 1
    Dernier message: 27/10/2008, 17h27
  5. getopt, plusieurs arguments a une option
    Par Tex-Twil dans le forum Linux
    Réponses: 3
    Dernier message: 03/02/2008, 20h01

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