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

Lars Herbach

Grünschnabel
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?

Code:
#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:

Code:
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.
 
Zuletzt bearbeitet:
system() erwartet nur einen einzelnen Parameter. Du musst diesen String vorher zusammensetzen, zum Beispiel mit einem std::eek:stringstream.

Code:
#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;
}
 
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.
 
Zurück