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 :

Passage d'une chaine de caractere dans l'execution d'un prog C sous linux


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 72
    Points : 42
    Points
    42
    Par défaut Passage d'une chaine de caractere dans l'execution d'un prog C sous linux
    Bonsoir tout le monde,

    J'aimerai savoir comment on fait pour faire passer une chaine de caractère en parametre d'execution d'un programme en langage C sous linux.
    par exemple: ./mon_programme <une chaine de caractere qui sera utilisé dans mon programme>

    Merci infiniment.

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Tu as essayé ./appli "mon argument super chouette"?

    Ceci devrait marcher avec les shells normaux (sh, bash, probablement dash).
    Réfère toi à la documentation de ton shell.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./monExecutable "mon argument 1" monArgument2
    EDIT : grillé par Leternel

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 72
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par leternel Voir le message
    Tu as essayé ./appli "mon argument super chouette"?

    Ceci devrait marcher avec les shells normaux (sh, bash, probablement dash).
    Réfère toi à la documentation de ton shell.
    OK merci, donc avec ça je dois aussi modifier ma fonction main afin qu'il puisse prendre en considération cet argument, c'est bien ça? Car ma fonction main est void (c'est à dire, j'ai "int main()").

  5. #5
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int main(int argc, char ** argv)
    argc = nombre d'arguments
    argv = tableau d'argument
    argv[0] = commande utilisée
    argv[1] = premier argument passé à l'exécutable

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 72
    Points : 42
    Points
    42
    Par défaut
    merci infiniment, je vais le tester

  7. #7
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Ben oui. C'est ce que j'allais répondre. C'est pas au niveau de la ligne de commande qu'il faut agir.

    Ta signature de main n'est-elle pas plutôt ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int main(int argc, char* argv[])
    Dans ce cas là, argc est le nombre d'argument. Le premier étant le nom du script et les suivants, les arguments passé à ton exécutable. Ils se trouvent dans le tableau de tableaux de caractères argv (un char ** donc)

    ok?

    [Edit]
    Arf! Archi-grilled
    [/Edit]
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

Discussions similaires

  1. erreur pour une insertion d'une chaine de caractere dans une cellule
    Par amel95140 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/10/2006, 09h09
  2. Réponses: 10
    Dernier message: 16/06/2006, 13h53
  3. Réponses: 10
    Dernier message: 22/05/2006, 11h45
  4. Réponses: 2
    Dernier message: 04/11/2005, 11h35
  5. [Debutant] Mettre une chaine de caractere dans un tableau
    Par bouboussjunior dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 14/09/2004, 11h33

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