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

Visual C++ Discussion :

comment faire l'execution sous windows


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut comment faire l'execution sous windows
    bonjour ,
    normalement sous linux pour executé un programe qui contient "un argv" = des element exterieur, je met le nom de l'executable et je met derière les element exterieur que je doit fournir à l'executable ! sous windows comment je fait ?
    en executant make je génére un fichier executable "prog" ce programme traitte un ensemble de donner dans un fichier texte ="donnees.txt "
    donc j'execute par la commande "./prog donnees.txt"
    mais sous windows avec mon prog.exe je ne sais pas comment faire: je ne sais pas comment lui joindre les données
    merci de votr aide

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Citation Envoyé par debutant-1
    bonjour ,
    normalement sous linux pour executé un programe qui contient "un argv" = des element exterieur, je met le nom de l'executable et je met derière les element exterieur que je doit fournir à l'executable ! sous windows comment je fait ?
    pareil

    soit grace à l'invite de commande (cmd.exe) , soit en mettant les arguments dans un raccourci ... mais bon, c'est pas vraiment un problème visual c++

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut
    ca marche pas avec cmd aussi enfaite il lit que le fichier (.exe) et non pas ce qu'il y a aprés !
    sinon je peut proceder comment dans le programme pour lui faire entrer les paremetre directement !
    je m'expilque j'ai essayer de faire comme suite :

    au debut ca éte
    int main (int argc, char *argv[])
    je l'ai remplacer par :
    int main ()
    {
    char **argv ;
    *argv="-p sample.log";
    int argc=13;
    mais ca marche pas elle me fait erreur " too many arguments to function '...'"

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    tu veux faire quoi en fait ? que ton programme puisse gérer la ligne de commande ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 65
    Points : 18
    Points
    18
    Par défaut
    en faite le programme comme il est fait ! on génére l'executable ! puis on luit ajoute l'otion de l'execution exemple (-p) et devant elle le nom de fichier à utilisé "sample.log" ce qui fait que pour l'executé sou linux on exire la formule suivante "./prog -p sample.log" et ca commence a s'executé !
    tand dit que sous windows sous cmd par exemple ca marche pas ecrire " "prog.exe -p sample.log" donc j'ai essayer d'introduire "-p sample.log" a l'interieur du programme pour que l'execution se fait que par "prog.exe"
    j'espert que j'été claire !

  6. #6
    Membre habitué Avatar de BertrandA
    Inscrit en
    Août 2003
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 170
    Points : 197
    Points
    197
    Par défaut
    Sauf erreur, les paramètres de la ligne de commande ne sont pas passés dans le même ordre suivant l'OS.

    Sous Linux, argv[0] contient le 1er paramètre.
    Sous Windows, argv[0] contient le nom de l'exécutable, puis argv[1] le 1er paramètre

    Je ne suis pas certain que la norme C++ impose d'ailleurs quoi que ce soit à ce niveau là.
    Mais ce n'est pas un problème insurmontable.

    j'espert que j'été claire !
    En toute honnêteté... Pas vraiment, mais on fait avec
    Les orteils servent à trouver les pieds de chaise et les montants de porte quand il fait noir.

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    J'ai des doutes, là.
    Il me semble bien que c'est au contraire imposé par la norme.
    Sous Linux, argv[0] contient rien du tout OU le nom du programme OU le chemin complet du programme.
    Sous Windows, on s'en moque car on peut récupérer le nom du programme autrement.

    Et dans tous les cas, le premier paramètre doit être dans argv[1];
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    sous linux argv[0] contient le chemin que tu as utilisé pour lancer le programme
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

Discussions similaires

  1. Comment lancer OpenOffice.org sous window
    Par ouioui2000 dans le forum OpenGL
    Réponses: 2
    Dernier message: 17/02/2006, 19h10
  2. Faire du ssh sous windows en C
    Par djfrancky dans le forum Windows
    Réponses: 9
    Dernier message: 04/02/2006, 12h10
  3. comment installer turbo c sous windows ??????????
    Par amouna dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 27/10/2005, 03h16
  4. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 23h42

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