# EXE-Datei mit zusaätzl. Parametern ausführen?



## Lars Herbach (30. April 2004)

Moin...
Ich wollt grad in nem C++ Prog ne Exe-Datei mit weiteren Parametern ausführen.
Hab dazu den befehl system versucht, hat aber leider nicht so geklatt wie ich das gern hätte.
Hat jemand nen Rat?


```
#include <iostream.h>
int main ()
{
	char a;
	char b;
	cout << "Sourcecode-Datei: ";
	cin >> a;
	cout << "Zieldatei: ";
	cin >> b;
	system ("dmc.exe" a b);
	return 0;
}
```


Edit: Fehlermeldung im Compiler:


```
C:\Dokumente und Einstellungen\Lars\Desktop\Compiler\bin>dmc.exe test.cpp
        system ("dmc.exe" a b);
                          ^
test.cpp(10) : Error: ')' expected
        system ("dmc.exe" a b);
                             ^
test.cpp(10) : Warning 6: value of expression is not used
--- errorlevel 1

C:\Dokumente und Einstellungen\Lars\Desktop\Compiler\bin>
```

THX

PS: Wens interessiert: Ich will damit die Handhabung des Compilers für nen Kumpel erleichtern.


----------



## Kachelator (1. Mai 2004)

system() erwartet nur einen einzelnen Parameter. Du musst diesen String vorher zusammensetzen, zum Beispiel mit einem std:stringstream.


```
#include <iostream>
#include <sstream>

using namespace std; // ausnahmsweise

int main ()
{
  char a;
  char b;
  cout << "Sourcecode-Datei: ";
  cin >> a;
  cout << "Zieldatei: ";
  cin >> b;

  ostringstream os;
  os << "dmc.exe" << " " << a << " " << b;

  system ( os.str().c_str() );
  return 0;
}
```


----------



## Lars Herbach (1. Mai 2004)

JIPPIEH DANKE    

Ein Hoch auf das Forum 

Danke dir


----------



## Lars Herbach (1. Mai 2004)

Hm... jetzt finden 2 Compiler die sstream.h nicht *wunder*
Hat jemand nen Tip?

BTW: Bin ziemlich neu im C++ *g*


----------



## Kachelator (1. Mai 2004)

> _Original geschrieben von Lars Herbach _
> *Hm... jetzt finden 2 Compiler die sstream.h nicht *wunder*
> Hat jemand nen Tip?
> 
> BTW: Bin ziemlich neu im C++ *g* *



"#include <sstream>" und nicht "#include <sstream.h>" und
"#include <iostream>" und nicht "#include <iostream.h>".

Die Header mit dem ".h" hinten dran sind veraltet bzw. nicht vorhanden. <sstream> und <iostream> sind die richtigen Header. Alles darin befindet sich im Namespace std, deshalb die "using"-Zeile.


----------



## Lars Herbach (1. Mai 2004)

Okay das geht, danke!
Aber mit welchem Variablentyp kann ich ne Zeichkette speichern?


----------



## Kachelator (1. Mai 2004)

std::string in der <string>
Dokumentiert als basic_string


----------



## Lars Herbach (1. Mai 2004)

Danke, es geht endlich  Ich glaub, in dem Forum bin ich nu öfter


----------



## Kachelator (1. Mai 2004)

Freut mich!


----------

