VARIABLEN IN SYSTEMBEFEHLEN
-
Hi!
ich hoffe ihr könnt mir helfen!
Ich möchte Variablen(strings) in SYSTEM-befehlen unterbringen.zb. wechselnde IP-adressen und Textinhalte bei netsend:
SYSTEM("net send IP_VARIABLE TEXT_VARIABLE");
______________________________________________________________________
ich erhielt in nem anderen Forum folgende Antwort, aber leider geht das nicht:
ja,hängt aber von Compiler und genutzter Stringklasse oder char?? ab.
String ip="127.0.0.1";
String ausgabe="net send "+ip+"TEXT_blablabalbala";
system(ausgabe);_______________________________________________________________________
ich hab das ausprobiert, mit folgender Variante:
char VARIABLEN_NAME;
VARIABLEN_NAME="PAUSE";
system("VARIABLEN_NAME");
// jetzt müsste er ja eigenntlich den befehl SYSTEM("PAUSE");
// ausführen, macht er aber nicht, sondern er sucht den Befehl VARIABLEN_NAME
// den er natürlich nicht finden kann!
_____________________________________________________________________
vermutlich ist das ganze ein lächerlich einfaches Problem,
aber ich bin halt Anfänger4 x THX im Voraus !
-
Hallo cayamides!
Erstmal zum letzten Listing:
system("VARIABLEN_NAME");
Das kann nicht gehen weil der Variablenname in Gänzefüsschen stehen und daher denkt der Compiler dies sei eine Zeichenkette(auch string genannt). Wenn dann muss das so heißen:
system(VARIABLEN_NAME);
Nun zu deiner Frage:
#include<string> //Strings #include<cstdio> //Die Lib für die C-Funktion sprintf #include<cstdlib> //system(); using namespace std; int main() { char befehl[1000]; char ip[] = "127.0.0.1"; char text[] = "Dieser Text wird an die IP Adresse gesendet"; //In befehl wird der zusammengesetzte Befehl gespeichert //%s sind Platzhalter für String d.h., dass was dahinter steht wird dort eingesetzt //so wird hier in das erste %s die ip eingesetzt und im zweiten %s der text sprintf(befehl,"net send %s %s",ip,text); //Befehl an System senden system(befehl); return 0; }
viel Spaß damit
mfg. Sven (Deepy)
-
vielen Dank nochmal...