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 :

fonction windows, start


Sujet :

C++

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Par défaut fonction windows, start
    Bonjour j'aimerait simplement savoir comment écrire la fonction system("start ") en y incérant une fonction. Par exemple je veut que l'utilisateur inscrive un site web et que le system l'ouvre.

    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <iostream>											
    #include <Windows.h>
    #include <string.h>
    #include <string>
     
    using namespace std;
    void main()
    {
     
    	string Program;
     
    	cout<<"What is the name of the program you would like to start?"<<endl;
    	cin>> Program;
     
    	system("start ?????");  // que doit-je écrire, ou bien comment doit-je l'écrire?
     
    	system("pause");
    }
    Ps: J'utilise windows visual C++ 2010!

  2. #2
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    1/ ne pas utiliser system mais popen
    2/ construis ta chaine de caractere avec std::ostringstream

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Par défaut
    1/ ne pas utiliser system mais popen
    2/ construis ta chaine de caractere avec std::ostringstream
    Vous m'envoyer extrêmement confus :S j'ai regarder quelques documentation sur internet de ques qu'était un "popen" et de "std::ostringstream". Je ne les avais jamais vus auparavent et j'ai beaucoup de difficulté a comprendre comment elles sont :S si vous pouvez... pouvez vous écrire correctement le code ET/OU m'envoyer un lien de library C++ avec ce code... merci. J'ai déja une library , mais soit je ne sait pas comment l'utiliser adéquoitement soit je ne comprend vraiment mais vraiment pas cest 2 termes...

    PS: je suis nouveau dans le C++ :S et j'esset de me faire un menu pour ouvrir tout sur mon ordi et blabla... pour me pratiquer

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Pourquoi déconseilles-tu system()? C'est la fonction la plus standard du lot...
    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.

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Par défaut
    Médinoc, alors pourais-je utiliser cette fonction : system("start ")?

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Un truc dans ce genre (pas testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void main()
    {
     
    	string Program;
     
    	cout<<"What is the name of the program you would like to start?"<<endl;
    	cin>> Program;
     
    	string line = "start " + Program;
     
    	system(line.c_str());
     
    	system("pause");
    }
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par Joel F Voir le message
    1/ ne pas utiliser system mais popen
    2/ construis ta chaine de caractere avec std::ostringstream
    Citation Envoyé par Médinoc Voir le message
    Pourquoi déconseilles-tu system()? C'est la fonction la plus standard du lot...
    Joel F et Medinoc ont tous les 2 raison.

    system() est la fonction la plus simple à utiliser pour un débutant et aussi très portable. Par contre, c'est aussi la plus sale (celle sur laquelle tu as le moins de contrôle dans les paramètres d'exécution).

    Donc pour un débutant, system() est un bon début et dès que cela marche et que la compréhension est acquise, il faut essayer de se rapprocher d'un truc un peu plus propre avec popen, fork/exec, CreateProcess suivant les OS et le degré de portabilité que l'on souhaite.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 26
    Par défaut
    Daccord alors avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #include <iostream>											
    #include <Windows.h>
    #include <string.h>
    #include <string>
     
    using namespace std;
    void main()
    {
     
    	string Program;
     
    	cout<<"What is the name of the program you would like to start?"<<endl;
    	cin >> Program;
     
    	string line = "start " + Program;
     
    	system(line.c_str());
     
    	system("pause");
    }
    Jobtient une seule erreur? et il est vrai que je suis débutant en C++... Je commence le CEGEP apres cette été :S Mais bon l'erreur est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    1>------ Début de la génération*: Projet*: test, Configuration*: Debug Win32 ------
    1>  main2.cpp
    1>MSVCRTD.lib(crtexew.obj) : error LNK2019: symbole externe non résolu _WinMain@16 référencé dans la fonction ___tmainCRTStartup
    1>D:\C++\Program visual C++\test\Debug\test.exe : fatal error LNK1120: 1 externes non résolus
    ========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
    J'ai l'impression qu'il s'agit d'une erreur de linkage mais je n'en suis pas totalement sur...

    Merci d'avance

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    C'est une erreur de linkage: Tu as déclaré ton projet comme "application Windows" plutôt que Application Windows Console.

    Tu peux changer ça dans les propriétés du projet, partie Linker -> System (/SUBSYSTEM:CONSOLE)
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. La fonction window.status pour Netscape
    Par ecarbill dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/07/2007, 11h04
  2. Réponses: 3
    Dernier message: 29/11/2006, 22h27
  3. Réponses: 13
    Dernier message: 02/11/2006, 15h12
  4. Problème de titre avec la fonction window.open
    Par kloss dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/04/2005, 18h34
  5. Fonctions Windows : convention d'appel C ou Pascal
    Par Alcatîz dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 03/04/2003, 20h15

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