Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Argumente Main

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.04.2006, 11:33 Uhr
ref



Das Programm



C++:
// main()-Funktion mit Parameteruebergabe

#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{
   cout << argc << '\n';

   for(int i=0;i<argc;i++)
   {
       cout << argv[i] << '\n';
   }
}




Ausgabe:

1
C : \Programme\Bla_bla\Kapitel 09\Argumente Main\Argumente Main.exe




Zitat von Verfasser:

Das Programm gibt die Argumente, die eines programm übergeben wurden, sowie die
Argumente selbst aus.

Die Programmargumente können sie dem Programm übergeben, indem Sie
es von der Kommandozeile aus aufrufen, und zwar in der form

nameDesProgramms Argument1 Argument2 Argument3 ...

Programmname und Argumente werden also durch ein Leerezeichen getrennt. Der Aufruf

Programm Mueller Maier Huber
übergibt dem Programm Programm.exe also die Argumente Mueller, Maier und Huber.



die frage: wie?
der name des programms so wie oben gezeigt ist
C: \Programme\Bla_bla\Kapitel 09\Argumente Main\Argumente Main.exe

heisst das, wenn ich jetzt parameter übergeben möchte , soll ich in der commandozeile
so schreiben:

C: \Programme\Bla_bla\Kapitel 09\Argumente Main\Argumente Main.exe Mueller

das geht nicht oder ????
--
Man kann ein Problem nicht mit der gleichen Denkweise lösen, mit der es erschaffen wurde. (Albert Einstein)

Dieser Post wurde am 05.04.2006 um 11:34 Uhr von ref editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.04.2006, 11:37 Uhr
virtual
Sexiest Bit alive
(Operator)


Nein.
argv[0] Enthälkt einfach den namen deines Programms, argv[i] mit i>0 die Argumente.
Den Namen des Programms würfelt Dein Betriebssystem aus. Das kann - wie in deinem Falle - der FQN des Programms sein, oder eben der name, wie Du ihn eigeben hast.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.04.2006, 13:27 Uhr
ref



Das kann man übrigens durch den Compiler auch machen

und dann die Argumente eingeben dann
wird das resultat so aussehen :

2
C: \Programme\bla_bla\Kapitel 09\Argumen
te Main\Argumente Main.exe
Mueller


das ist mir aber nicht so wichtig wie Argumente Durch Kommandozeile zu übergeben
wie könnte das, mit solchem -wie oben gennante - beispiel aussehen ?

danke in voraus
--
Man kann ein Problem nicht mit der gleichen Denkweise lösen, mit der es erschaffen wurde. (Albert Einstein)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.04.2006, 13:32 Uhr
Pler
Einer von Vielen
(Operator)



Zitat:

Das geht nicht, oder?


Doch, genau so.


Zitat:

Das kann man übrigens durch den Compiler auch machen


Das macht dann aber nicht der Compiler, sondern deine IDE hängt die Kommandos beim Aufruf des executable mit dran.

So richtig weiß ich nicht wo dein Problem ist.

Wenn du dein Prgramm in ner DOS-Box aufrufst kannst du die gleichen Argumente auch so dranhängen. Wie gesagt, deine IDE macht nichts anderes. Und das ist auch das gleiche wie oben beschrieben.



DOS-Box:

> cd C:\Programme\bla_bla\Kapitel 09\Argumente Main\
> Argumente Main.exe Mueller
2
Argumente Main.exe
Mueller
> _




PS Leerzeichen in Datei- und Verzeichnisnamen tuen einfach weh beim Lesen.

Dieser Post wurde am 05.04.2006 um 15:01 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: