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 :

Problème fonction getopt()


Sujet :

C

  1. #1
    Nouveau membre du Club Avatar de Butcher22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 20
    Points : 36
    Points
    36
    Par défaut Problème fonction getopt()
    Salut à tous

    je rencontre des problème avec la fonction getopt() pour avoir les options d'une commande, voici 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <assert.h>
    #include <getopt.h>
     
     
    /* check options */
    void check_options(int argc, char *argv[])
    {
        int opt;
     
        while ((opt = getopt(argc,argv,"a") != EOF))
        {
            switch (opt)
            {
                case 'a' :
                    printf("option a\n");
                    break;
                default :
                    printf("no options : %c\n",(char)opt);
                    break;
            }  
        }
        return;
    }
     
     
    int main(int argc, char *argv[])
    {
        assert (argc >= 2);
        // check options
        check_options(argc,argv);
        return 0;
    }
    et le problème est que je retombe toujours sur , no options et un carré avec des 0,1 comme valeur de retour pour (char)opt

    je compile grâce à ( aucun prob à la compi )

    et la commande est

    Merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Bonjour,
    je n'ai que parcouru en diagonal ton code mais il y a une erreur de parenthésage →
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ((opt = getopt(argc,argv,"a") != EOF))
    La conditionnelle est en fait comprise comme : opt = (getopt(argc,argv,"a")!=EOF)
    Alors que toi tu veux : (opt = getopt(argc,argv,"a")) !=EOF.
    N'utilise pas EOF mais plutôt -1.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec la fonction getoptions
    Par Hypnocrate dans le forum Langage
    Réponses: 5
    Dernier message: 31/03/2009, 23h05
  2. Problème fonction PL/SQL
    Par SSJ17Vegeta dans le forum PL/SQL
    Réponses: 2
    Dernier message: 29/10/2005, 21h14
  3. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  4. Réponses: 2
    Dernier message: 20/08/2004, 17h10
  5. [bioinfo] fonction getoption
    Par perlaud dans le forum Bioinformatique
    Réponses: 13
    Dernier message: 30/07/2004, 16h07

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