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 de parametre pointeur dans une fonction main


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 37
    Points : 29
    Points
    29
    Par défaut passage de parametre pointeur dans une fonction main
    bonjour,
    alors voila mon problème est que j'aurais bien voulut passer de paramètre au lancement d'un programme par la commende system("start monProg.exe paramètre").
    bon alors ca c'est ok .
    mais le truc que je veut faire c'est que monProg.exe devrai pouvoir modifier les paramètre envoyer , alors j'avais pensé passer par des pointeur mais je n'arrive pas a les passez en paramètre , j'ai réussi à passer les adresse en chaine de caractère comme paramètre mais je n'arrive pas a les réutiliser ...
    ou alors il faudrait pouvoir faire ca serai de faire retourner un tableau avec les valeurs des variables (enfin je sais pas si vous me suivez )...
    merci

  2. #2
    Membre averti Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Points : 339
    Points
    339
    Par défaut
    Problème non clairement exprimé solution boiteuse
    La valeur n'attend pas le nombre des années

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Pas très claire ta question.

    Le main doit avoir comme prototype :
    int main(int argc,char* argv[]) ou int main(int argc,char** argv)
    En C/C++ les paramètres passés en ligne de commande sont stockés dans le tableau de chaines de caracteres argv
    argv[0]= "nom du programme"
    argv[n]="n ieme paramètre"

    Apres avoir regardé la fonction start il est pensable que les paramètres soient stockés de la même façon.

    Ce que je ne comprends pas c'est ton besoin de modifier les paramètres. Si tu veux modifier directement les valeurs dans argv c'est possible en faisant cela:

    argv[numero_a_modifier]= nouveauparametre;
    où nouveauparametre doit être une chaine de caracteres

    ou bien en modifiant 1 par 1 les caractères de la chaîne existante, mais ça ne permet pas d'en changer la taille.

    nécessité de libérer la mémoire de l'ancienne chaîne si on opte pour la première solution?

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    Tu ne peux passer que des arguments par chaîne de caractère. Chaque processus a un espace d'adressage distinct. Donc cela ne sert à rien de transmettre la valeur de pointeurs. Ils ne sont pas significatifs dans le second processus.
    Si tu dois échanger (ou partager) des données plus complexes entre les deux processus, alors intéresses-toi aux techniques de IPC (Inter Process Communication) : fichier, mémoire partagée, pipe, socket, etc.. Par exemple, Boost.Interprocess.

    Mais Jenna a raison : quel l'objectif exactement ? Sans ça les solutions proposées risquent de tomber à côté.

Discussions similaires

  1. passage de pointeur dans une fonction
    Par El Manco dans le forum Débuter
    Réponses: 10
    Dernier message: 09/02/2009, 22h13
  2. Pointeur dans une fonction ?
    Par sliiim6184 dans le forum C
    Réponses: 4
    Dernier message: 28/12/2006, 11h32
  3. [débutant] mettre un parametre optionnel dans une fonction
    Par maximenet dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/08/2006, 16h08
  4. [.NET2.0][C#]Passage type de classe dans une fonction
    Par SLE dans le forum Windows Forms
    Réponses: 4
    Dernier message: 06/06/2006, 15h48
  5. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14

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