Anfänger Problem! HELP!



  • Hi,
    ich schreib ein C++-Programm, dass folgendes machen soll (es ist eine Console Application): Man gibt den Host ein (string) und eine Nachricht (string) und die Nachricht wird an den Host im Netzwerk gesendet. Ich möchte in die Anweisung system() zwei Variablen (strings) einbauen die nach der Eingabe eingefügt werden und von dem System-Befehl verwendet werden. Wie funktioniert das?? 😕

    Ungefähr so:

    string host;
    string nachricht;
    
    cin >> host;
    cin >> nachricht;
    
    system("msg %s %s", host, nachricht);  /*Hier bleib ich hängen, weil die ganze Zeit eine Fehlermeldung kommt, was mach ich falsch*/
    

    Fehlermeldung: too many arguments to function 'int system(const char*)
    Gibt es einen anderen Befehl mit dem ich Nachrichten zu einen Host im Netzwerk senden kann?
    Es muss nicht unbedingt der system-Befehl sein, aber was die gleiche Wirkung hat :).

    Bitte um Hilfe!



  • system nimmt nur ein Argument entgegen, du willst aber 3 übergeben...

    EDIT: Du musst einen String erstellen, der "msg " und deine beiden Strings beinhaltet. Den kannst du dann an system übergeben.



  • lol, 😃 wie funktioniert das (bin Anfänger).



  • Probier mal so:

    system(std::string("msg " + host + " " + nachricht).c_str());
    


  • Danke, es hat funktioniert. 👍 🙂
    Wie lange programmierst du schon in C++?
    Bin gerade bei Kapitel 4 = OPERATOREN 😃



  • SDS schrieb:

    Wie lange programmierst du schon in C++?

    Knapp 2 Jahre. Ich habe aber vorher schon in anderen Sprachen programmiert.


Anmelden zum Antworten