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 :

récupérer les arguments du programme


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut récupérer les arguments du programme
    Salut,

    j'ai un peu de mal à récupérer les arguments de mon programme

    j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int main(int argc, char* argv[])
    {
    ...
    }
    quand j'appelle mon programme je saisis par exemple

    prog.exe argument1 argument2

    seulement quand je veux récupérer les valeurs 'argument1' et 'argument2' je ne récupère que la première lettre de chaque argument

    je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     printf("arg1 : %s\n", argv[1]);
    alors j'ai pas vraiment d'idée, autant en java c'est évident, autant là...

    merci d'avance !

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Pas normal, ça marche, normalement.
    Mais bon, ici, c'est C++, donc ça sera plutôt std::cout << argv[1]

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    j'ai déjà essayé et ça me fait le même problème ! merci quand même !

    c'est assez énervant d'autant plus que c'est super important !

    peut-être que c'est l'entête de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int _tmain(int argc, char* argv[])

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    C'est quoi l'argument exact que tu donnes ?

  5. #5
    Membre confirmé
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Points : 563
    Points
    563
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    int main(int argc, char *argv[])
    {
        cout << argv[1] << endl;
        cout << argv[2] << endl;
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    Essayes ça.
    Ensuite
    Si ca ne te rend pas
    C'est que tu as un souci avec ton compilateur et/ou ton environement.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par NewbiZ
    C'est que tu as un souci avec ton compilateur et/ou ton environement.

    Alors je dois avoir un problème avec mon compilo ou mon environnement ! j'ai tout essayé ! quels styles de problèmes cela peut-il recouvrir, et surtout comment on les résoud ???

    merci d'avance !!

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Questions sûrement idiotes... :
    • pourquoi _tmain en nom de fonction ?
    • pourqoi pas de type de retour ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 54
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par Swoög
    Questions sûrement idiotes... :
    • pourquoi _tmain en nom de fonction ?
    • pourqoi pas de type de retour ?

    c'est exactement ça !!!! merci mille fois !!!! c'est vraiment ultra spécial, le _tmain vient de Visual C++ il le met d'office ! alors j'avais pas fait gaffe !! merci encore !

  9. #9
    Membre confirmé
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Points : 563
    Points
    563
    Par défaut
    ...
    Je pensais que c'était une faute de frappe pour
    int_t main ()
    dans le genre size_t ... rha c'est rageant comme erreur

  10. #10
    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 519
    Points
    41 519
    Par défaut
    _tmain() prend un TCHAR *argv[], et non un char *argv[]...

    Ce qui me surprend, c'est que le compilo n'ait pas gueulé... Comme un Visual récent compile par défaut en Unicode, le type TCHAR se résout en wchar_t, c'est-à-dire (sur un PC x86 sous Windows) en caractères unicode 16-bits Little-Endian : Pour tout caractère <= 255, Le premier octet est le code du caractère (compatible ISO-8859-1) et le second octet est nul!
    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.

Discussions similaires

  1. [RegEx] Récupérer les arguments d'une fonction
    Par brunoperel dans le forum Langage
    Réponses: 2
    Dernier message: 29/07/2008, 19h46
  2. Réponses: 5
    Dernier message: 02/07/2008, 14h10
  3. Récupérer :les arguments d'un script
    Par sliderman dans le forum Linux
    Réponses: 2
    Dernier message: 06/04/2008, 17h56
  4. [ServerSocket][URL] Comment récupérer les arguments d'une URL?
    Par nramariavelo dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 20/06/2006, 14h46
  5. récupérer les arguments de la ligne de commande
    Par gblanc dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/10/2005, 23h08

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