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 :

gérer options d'une commande c


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 27
    Points : 8
    Points
    8
    Par défaut gérer options d'une commande c
    salut a tous,


    voila je suis en train d'implementer une commande c pour lister les fichier d'un repertoire donné,

    le parcours et la recuperation des fichier ne me posent pas de probleme mais cette commande Lister peut prendre jusqu'a 5 option qui correspondent a des criteres precis des fichier a afficher...

    Je ne sais pas comment faire pour eviter des millier de if else du style si (option 1) alors si (options 2) etc...


    Avez vous une solution plus efficace et moins longue à me proposer ? J'avais pensé a mettre tous les fichier dans un tableau et filtrer ce tableau petit a petit mais je ne sais pas si c'est la bonne solution et surtout comment le faire...


    Merci d'avance ! =)

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Points : 538
    Points
    538
    Par défaut
    regarde du coté des fonctions execv, execvp et execve. Elles prennent en paramètre un tableau avec tout les argument de la commande.
    "L'insanité consiste à répéter la même action dans l'espoir d'aboutir à un résultat différent" Albert Einstein
    ----------------------
    T.O.A.O 6-MarViN

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    @6-Marvin : je suis allé voir les man page et je lis ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    La famille de fonctions exec remplace l'image mémoire du processus en cours par un nouveau processus.
    Du coup, j'ai un peu de mal à comprendre ta proposition...

    @44Magnum : tu crées un programme à lancer avec un certain nombre de paramètres ou tu crées une fonction ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Points : 538
    Points
    538
    Par défaut
    Ah excuse j'ai mal lu la question (je pensais que tu voulais executer une commande).

    En gros tu veux parser la ligne de commande? Si oui va voir du coté de getopt. Sinon ben batterie de if.
    "L'insanité consiste à répéter la même action dans l'espoir d'aboutir à un résultat différent" Albert Einstein
    ----------------------
    T.O.A.O 6-MarViN

  5. #5
    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 : 47
    Localisation : Suisse

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Salut,

    getopt() est une fonction Posix.2, donc relativement portable, mais pas disponible partout. Sinon, GLib propose également son analyseur de lihne de commande, GOption: relativement portable mais nécessite de se lier à GLib. Mais bon, c'est une bonne alternative à getopt().

    Avec mes meilleures salutations

    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++

    +

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    salut, si t'as pas envie de faire un batterie de if else if
    tu fas un tableau de pointeurs sur fonction.
    une tableau qui contient toutes tes options, et tu strcmp en parcourant le tableau.

Discussions similaires

  1. bloquer une option d'une commande
    Par m-t4rik dans le forum Linux
    Réponses: 7
    Dernier message: 26/04/2011, 10h58
  2. Utiliser des options dans une commandes
    Par Ladgalen dans le forum Débuter
    Réponses: 8
    Dernier message: 17/12/2009, 14h42
  3. [OpenOffice][Tableur] Macro, où trouve t on les différentes options d'une commande
    Par esperanto94 dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 15/11/2008, 11h07
  4. [VB6]Gérer les espaces dans une command FTP
    Par ShortcutZ dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/07/2006, 21h28
  5. Modifier une option pour la commande split
    Par vbcasimir dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 20/07/2005, 12h24

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