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 :

Aide fonction getopt


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 175
    Points : 48
    Points
    48
    Par défaut Aide fonction getopt
    Salut
    je suis al a recherche d´un code me permettant d´utiliser la fonction "getopt"...
    je voudrai par exemple lire une entree au clavier, et afficher un element en fonction de la lettre tapée.
    Par exemple:
    je tape "-h" pour avoir de l´aide (help) et ca m´affiche du texte venant soit d´un fichier ou alors d´une fonction de mon programme.

    Merci a bientot

  2. #2
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Y'a un exemple dans le man du getopt http://man.developpez.com/man3/getopt.3.php

  3. #3
    Membre expérimenté
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Points : 1 421
    Points
    1 421
    Par défaut
    http://man.developpez.com/man3/getopt.3.php

    je sais pas comment j'ai fait pour trouver ça ... un coup de bol surement ...

    edit: rah, grillé, core une fois !

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Tout ceci fonctionne trés bien pour Unix mais sous Windows, que peut on faire pour avoir l'équivalent ?

    J'ai en effet à réaliser le portage d'une application utilisant getopt.h fonctionnant sous unix vers windows.

    Mais getopt.h sous windows...ça n'a pas l'air de fonctionner.

    Pouvez vous me confirmer cela ou est ce que getopt.h fonctionne sous windows ?
    Sinon quelle solution équivalente existe il sous windows ?
    Merci.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Bah déjà les libs et header de getopt.h sont introuvables sous windows et VC++6.0...

  6. #6
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par ..alex..
    Mais getopt.h sous windows...ça n'a pas l'air de fonctionner.
    Pouvez vous me confirmer cela ou est ce que getopt.h fonctionne sous windows
    Merci.
    Soi tu lisais bien :
    Section: Manuel du programmeur Linux (3)
    !!!

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    et donc ? As tu une solution à mon probléme ?

    !!!

    Bon je sens que je vais faire ça à la main...Merci quand meme

    @++

  8. #8
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    getopt() est POSIX.2. Or Windows n'est que POSIX.1 et des poussieres, si je me souviens bien. Donc getopt() n'est peut-etre pas disponible sous Windows. Il va te falloir ecrire une fonction equivalente (ce n'est pas trop difficile).

  9. #9
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par miron
    Soi tu lisais bien : !!!
    Dans le code du man, il y a
    et je doute que windows comprenne ...

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Par contre, je ne vois pas trop comment détecter le type d'arguments qui sera en paramètres.

    Un exemple :

    > hello --personne=paul --parole=Bonjour --ton=gentillement

    Comment détecter les différents types d'argument sachant qu'on pourrait avoir un ordre aléatoire :

    > hello --ton=gentillement --personne=paul --parole=Bonjour

    Une fois ceci fait, il faudrait détecter la donnée aprés le '=' c'est ça ?

    En gros, il me faut recoder getopt avec les enum (ton, parole, personne) et compagnie mais je ne vois pas trop comment faire...

    Je suis débutant.
    Merci de vos réponses.

  11. #11
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par ..alex..
    Par contre, je ne vois pas trop comment détecter le type d'arguments qui sera en paramètres.

    Un exemple :

    > hello --personne=paul --parole=Bonjour --ton=gentillement

    Comment détecter les différents types d'argument sachant qu'on pourrait avoir un ordre aléatoire :

    > hello --ton=gentillement --personne=paul --parole=Bonjour

    Une fois ceci fait, il faudrait détecter la donnée aprés le '=' c'est ça ?

    En gros, il me faut recoder getopt avec les enum (ton, parole, personne) et compagnie mais je ne vois pas trop comment faire...

    Je suis débutant.
    Merci de vos réponses.
    j'ai pas d'astuces sous la main à part creer un parser

  12. #12
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par ..alex..
    Par contre, je ne vois pas trop comment détecter le type d'arguments qui sera en paramètres.
    Inspire toi de getopt(). Le man de cette fonction est assez complet et va te montrer comment elle fonctionne. Evidemment, tu ne peux pas deviner quels arguments vont apparaitre. C'est a l'utilisateur de te dire cela et c'est a cela que sert le troisieme argument de getopt(), optstring. Du point de vue conceptuel, c'est tres similaire au format que l'on passe a printf(), par exemple. En lisant ce format, tu peux connaitre les options qu'il faut attendre, si ces options ont elles-meme des arguments, etc. Ensuite, il suffit de placer la variable globale optarg sur le premier caractere apres l'option elle-meme (ou vers l'argv suivant s'il y a un espace, ou apres le = si celui-ci est attendu, etc.).
    Mais fais une recherche Google, il est possible que quelqu'un a deja code un equivalent de getopt() pour Windows...

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Ok merci il s'avere que le codage à la main ne fut pas si compliqué...

    ++

Discussions similaires

  1. aide fonction tri heapsort (création du tas)
    Par Invité dans le forum C
    Réponses: 6
    Dernier message: 24/11/2009, 01h27
  2. [aide fonction popup.close() ]
    Par viny dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/07/2006, 17h41
  3. aide fonction math[racine,cos(),sin(),..]VB6
    Par am.adnane dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/12/2005, 19h40
  4. besoin d'aide fonction avec fichier (debutant)
    Par boby61 dans le forum Débuter
    Réponses: 9
    Dernier message: 14/03/2005, 12h22
  5. [bioinfo] fonction getoption
    Par perlaud dans le forum Bioinformatique
    Réponses: 13
    Dernier message: 30/07/2004, 17h07

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