Ein anderes Programm mit einer unbestimmten Command Line starten



  • Halli Hallo :),
    erstmal.. ich bin neu hier und bin ein ziemlicher Anfänger in C++ ;).
    Nunja hier meine Frage an euch:
    Es geht sich darum das ich ein anderes Programm über WinExec starten möchte, jedoch mit einem Parameter welches der Benutzer meines Programmes vorher mit einer cin Funktion festgelegt hat.
    In meinem Fall sollte es dann zB so aussehen:
    WinExec ("C:\\Program Files\\Steam\\Steam.exe -applaunch 240 +connect (Hier der Wert der ersten Abfrage);(Hier der Wert der zweiten Abfrage)",SW_HIDE);

    Wie muss ich die Werte die der Benutzer eingegeben hat dort "einfügen"?

    Danke schonmal jetzt *hihi*. 🙂


  • Mod

    Wir hatten heute Nachmittag schon fast die gleiche Frage. Allerdings hatte es da einen etwas ungünstigen Threadtitel, weswegen du das nicht finden konntest:

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-256681.html



  • Mhhh, sowie ich das aus dem Thread sehe müsste ja dann der Befehl ja dann so heissen:

    WinExec ("C:\\Program Files\\Steam\\Steam.exe -applaunch 240 +connect "<< server << ";"<< pass << "",SW_HIDE);

    Jedoch funktioniert das ganze nicht wirklich 😕
    no match for 'operator<<' in '"C:\\Program Files\\Steam\\Steam.exe -applaunch 240 +connect " << server'


  • Mod

    Lies den Thread noch mal, du hast ein paar entscheidende Zeilen vergessen. Dein WinExec entspricht dem system aus dem anderen Thread.



  • Der << ist ein operator, welcher deifiniert ist für Stringstreams
    Du brauchst also:

    std::stringstream eingabe;
    eingabe << "C:\\Program Files\\Steam\\Steam.exe -applaunch 240 +connect "<< server << ";"<< pass << "",SW_HIDE;
    WinExec(eingabe.str().c_str());
    


  • Dank euch ;),
    jedoch will es immer noch nicht ganz klappen ;/
    aggregate `std::stringstream eingabe' has incomplete type and cannot be defined
    Woran liegt es nun? :o


  • Mod

    strongP schrieb:

    Dank euch ;),
    jedoch will es immer noch nicht ganz klappen ;/
    aggregate `std::stringstream eingabe' has incomplete type and cannot be defined
    Woran liegt es nun? :o

    Du musst noch

    #include <sstream>
    

    an den Anfang des Programms schreiben.



  • mmhhh done,
    jedoch spuckt er mir jetzt das aus:
    D:\Dev-Cpp\include\winuser.h In function int main()': 3891 D:\\Dev-Cpp\\include\\winuser.h too few arguments to functionUINT WinExec(const CHAR*, UINT)'



  • Schon erledigt jungs, dank euch vielmals :).


Anmelden zum Antworten