Aufruf eines Konsolenprogrammes
-
Hallo Gemeinde,
ich habe ein Problem beim Aufruf meines C++ Programmes.
Ich möchte mit Hilfe eines Programmes wie folgt mein Programm aufrufen:
meinProgramm.exe Dateiname im Stringformat (z.B. meinProgramm.exe C:\a.txt)
Soweit so gut. Nur weiß ich nicht wie ich in meinem Programm diesen Aufruf verarbeiten kann.
Hier der Code-Snippet meines "Empfänger" Programmes:
#include <windows.h>
extern "C"{
int begin(char *fname);
};int _tmain(int argc, _TCHAR* argv[])
{
begin("Hier soll der Dateiname rein.");
return 0;
}Hat jemand eine Idee?
Danke.
Gruß
-
system ("meinProgramm.exe C:/a.txt");
-
Hy devkid,
danke für deine Antwort.
Wie der Aufruf funktioniert weis ich. Ich möchte aber wissen wie ich diesen Aufruf im Empfänger Programm (siehe Snippet) verarbeiten kann.
Danke.
Gruß
-
Meinst du, wie du den Paramter (Dateiname) herausfinden kannst? Der liegt in
argv:if (argc > 1) begin (argv [1]);
-
devkid schrieb:
Meinst du, wie du den Paramter (Dateiname) herausfinden kannst? Der liegt in
argv:if (argc > 1) begin (argv [1]);nee ... das ist mir klar. ich habe nur das Problem, das der Parameter für begin vom Typ char * ist und argv _TCHAR* ist.
Und das funktioniert irgendwie net ganz ...
Wie ich quasi den Parameter argv für meinen begin Aufruf verwenden kann.Hab mich denk ich nur falsch ausgedrückt

-
Keiner mehr einen Rat???
-
Stell dein Projekt auf "Nicht Unicode" um (Projekt Einstellungen > Allgemein > Character Set).
Alternativ kannst Du auch wchar_t* bzw. TCHAR* in char* Konvertieren, z.B. mit CT2A(argv[1])... weiss den zugehörigen Header grad nicht (ev. <atlbase.h>
Simon
-
Habs selber gelöst. Hab den Einstiegspunkt auf mainACRTStartup geändert. Nun klappt alles ohne konvertieren zu müssen.
Gruß
-
Wenn ich grad mal noch eine Frage anhängen darf

Gibts eine einfache Möglichkeit (MS Funktion) Pfadangaben mit Leerzeichen bei mehreren Aufruf Parametern in den Griff zu bekommen ?
Also z.b. : MeinProg.exe /E c:\program files\test\datei.txt /S info
Danke,
gruß
Marcus
-
"Anführungszeichen !" ?
-
Wird dass "automatisch" als ein Argument gesehen, also argv[n] = "aa bb cc" oder muß ich da "von Hand" nach den Anführungszeichen suchen und zusammensetzen ?
Ich werds mal testen.
Danke.
-
meinProgramm.exe test "bla blub"
argv [0] = "meinProgramm.exe" argv [1] = "test" argv [2] = "bla blub"