Hey,
ersma vorweg...das hatten wir hier schon ;)
trotzdem:
Dafür gibts mehrere Möglichkeiten.
Auf jeden Fall musst du deinen Krahm immer in einen Char-String umwandeln.
Ich mach das immer so: (C++)
Code:
001: #include <iostream>
002: using namespace std;
003:
004: int main(){
005: string befehl, variable; // Initialisieren von 2 Strings
006:
007: befehl = "firefox "; // In den einen kommt der Befehl/nachricht
008: getline(cin, variable); // Den anderen mit Daten füllen
009:
010: befehl.append(variable); // Die Daten an die Nachricht dranhängen
011: system(befehl.c_str()); // system() das komplette Ding übergeben
012: return 0;
013: }
Funktionieren tut das dann so:
Zeile 5: 2 Strings werden deklariert. In den einen kommt deine Message, der Befehl oder sonstwas.
In den anderen dann eine Variable, ein Attribut, Parameter, Argument, etc.
Zeile 7: der eine String kriegt nun den Inhalt 'firefox'
Zeile 8: Der andere wird jetzt eingelesen
Zeile 10: Die Variable wird jetzt an den Befehl drangehängt
Zeile 11: Das komplette teil wird in einen C-String(=char *) umgewandelt und ausgeführt.
system() erwartet const char*, daher muss man das halt umwandeln.
Wenn man nun was eingibt, wird der Firefox(insofern es dein Standartbrowser ist) mit dem Attribut gestartet, dass du eingegeben hast.
lg,
n1ob