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 :

Lancer un programme avec une commande particulière...?


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut Lancer un programme avec une commande particulière...?
    Bonjour,

    Je programme une petite application en C sous Linux et je souhaite que l'utilisateur puisse lancer cette application en mode console, uniquement en entrant une ligne du style :

    %appli

    De plus, comment faire pour passer en paramètre une valeur, par exemple pour faire :

    %appli <value>

    et récupérer la valeur entrée dans le programme ?

    Merci beaucoup à tous ceux qui me répondront

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    Citation Envoyé par alex6891
    comment faire pour passer en paramètre une valeur, par exemple pour faire :

    %appli <value>

    et récupérer la valeur entrée dans le programme ?
    http://c.developpez.com/faq/c/?page=...IONS_main_args

  3. #3
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: Lancer un programme avec une commande particulière...?
    Citation Envoyé par alex6891
    Je programme une petite application en C sous Linux et je souhaite que l'utilisateur puisse lancer cette application en mode console, uniquement en entrant une ligne du style :
    Il suffit de faire une application executable. Ensuite, sous Linux, elle se lance en faisant
    ou en plaçant l'executable dans un répertoire 'public' (comme /bin, /sbin, ~/bin etc.). Détails sur le forum 'Linux'.
    De plus, comment faire pour passer en paramètre une valeur, par exemple pour faire :
    et récupérer la valeur entrée dans le programme ?
    Il suffit de définir main() comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int main (int argc, char **argv)
    et de récupérer les paramètres de la ligne de commande. Les détails de cette opération très basique sont dans ton livre de C.
    Pas de Wi-Fi à la maison : CPL

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut
    Ok merci j'avais complètement zappé les arguments du main

    J'ai une autre question : comment faire pour vérifier si l'argument <value> est de tel ou tel type ? Une fonction existe pour celà ?

    Merci

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 127
    Points
    127
    Par défaut
    Les arguments sont toujours de type char*, à toi ensuite de les convertir si besoin.

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par alex6891
    comment faire pour vérifier si l'argument <value> est de tel ou tel type ? Une fonction existe pour celà ?
    Non. Ce sont de bêtes chaines de caractères, elles n'ont pas de 'type' particulier. On en fait ce qu'on veut ensuite selon les specs du programme.

    Il faut tester les caractères et si nécessaire, invoquer la fonction de conversion qui va bien...

    strtol(), sscanf() etc.
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 219
    Points : 44
    Points
    44
    Par défaut
    Je vois pas trop comment faire, je voudrais que <value> soit un entier, sinon : erreur.

  8. #8
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par alex6891
    Je vois pas trop comment faire, je voudrais que <value> soit un entier, sinon : erreur.
    Tu le convertis avec strtol(). Lire la doc. Il y a moyen de savoir si la conversion est réussie.

    On peut aussi préfiltrer les caractères avec sscanf(). Fait de ton mieux et poste ton code. On ne donnera rien sans avoir vu ton code.
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. [XL-2013] Lancer firefox avec une commande
    Par murka62 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/03/2014, 12h36
  2. [VB] Lancer Minecraft 1.6.2 avec une commande batch.
    Par pedrix dans le forum Développement Windows
    Réponses: 0
    Dernier message: 13/08/2013, 22h36
  3. lancer Internet explorer pas une commande DOS
    Par dsr57 dans le forum Windows
    Réponses: 4
    Dernier message: 03/12/2010, 14h52
  4. [Runtime]exec() avec une commande paramétrée
    Par nice dans le forum Général Java
    Réponses: 9
    Dernier message: 12/05/2005, 13h15
  5. [C#] Lancer et dialoguer avec une console ?
    Par Selenite dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/09/2004, 19h48

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