2010-08-08 8 views
1

Je sais comment démarrer le processus avec l'argument mais je tente de créer un programme qui utilise ces arguments. Par exemple, IE8 utilise Process :: Start ("IExplore.exe", "google.com"); comme argument pour ouvrir une nouvelle fenêtre avec url google.com. Je veux que mon programme utilise l'argument, mais je ne sais pas comment l'obtenir. comme Process :: Start ("myprogram.exe", "TURE"); Je veux que mon programme pour obtenir la ture grâce à l'avance RamiC++ Démarrer le processus avec l'argument

+1

Avez-vous un livre d'introduction C++? Si vous le faites, cela est probablement couvert dans l'un des tout premiers chapitres. Si vous ne le faites pas, vous devriez envisager d'obtenir l'un des livres d'introduction énumérés dans [Le Guide du Livre C++ définitif et Liste] (http://stackoverflow.com/questions/388242/the-definitive-c++-book-guide-and -liste). –

Répondre

2

En supposant que vous écrivez votre point quelque chose comme cette entrée:

int main(int argc, char* argv[]) 

Alors argc est le nombre d'arguments utilisés pour invoquer votre programme et argv sont les arguments réels.

Essayez-:

#include <cstdio> 

int main(int argc, char* argv[]) 
{ 
    for (int i = 0; i < argc; ++i) 
     printf("%s\n", argv[i]); 
} 
+0

cela fonctionnerait-il même si j'utilise le mode gui? – Ramilol

+0

Si vous utilisez le point d'entrée Windows: 'int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)', alors 'lpCmdLine' est la ligne de commande et' nCmdShow' est le nombre d'arguments. –

-1
#include <stdlib.h> 
... 
system("IExplore.exe google.com"); 
4

Il y a deux choix, selon le type de programme que vous construisez.

  • Si votre programme est un programme en mode console, utilisez argc et argv paramètres passés à votre main(). Si votre programme est un programme en mode GUI, utilisez le paramètre pCmdLine transmis à votre WinMain().

Dans les deux cas, vous pouvez toujours utiliser GetCommandLine().

+3

GetCommandLine() est spécifique à Windows et non portable, donc l'utilisation de argc/argv est généralement préférable. –

+0

C'est correct. Je pensais qu'il était assez clair que l'OP utilise Windows. –

+0

je devrais aller avec le deuxième choix à droite? – Ramilol