DOS parameter uebergeben



  • hallo

    wie kann ich in einer char[250] variable gespeicherte zeichenkette in der funktion system() uebergeben und anschliessend in der command ausfuehren?
    z.b.: system("cls"); klappt

    cin.getline(ip,250);
    sytem("ping"); // wie uebergebe ich die ip/host adresse?

    oder bin ich auf dem holzweg?

    os winxp
    compiler bcc5.5.1

    dank euch im vorraus,merci



  • mit
    system("ping 192.1.3.1");



  • Du brauchst nen string in dem "ping " steht und wo du dann die eingelesene IP anhängst (strcat()). Diesen String übergibst du dann system.



  • rincewind schrieb:

    mit
    system("ping 192.1.3.1");

    Haha das bringt ihm viel...

    Naja ich glaube eher er meint soetwas in der Art:

    char* newstr = new char [255];
    newstr[0] = 'p';
    newstr[1] = 'i';
    newstr[2] = 'n';
    newstr[3] = 'g';
    newstr[4] = ' ';
    
    for ( unsigned int i ( 0 ) ; ip[i] <> '\0' ; ++i )
        newstr[i+5] = ip[i];
    
    newstr[i] = '\0';
    
    system ( newstr );
    
    delete[] newstr;
    

    Hoffe mal, dass sich da nicht wieder Fehler eingeschlichen haben. Noch leichter wäre es übrigens in C++ mit std::string.

    MfG SideWinder



  • newvet schrieb:

    Du brauchst nen string in dem "ping " steht und wo du dann die eingelesene IP anhängst (strcat()). Diesen String übergibst du dann system.

    Toll ich hab das natürlich wieder implementiert statt eine fertige Funktion herzunehmen 🙄

    MfG SideWinder



  • ich meine so etwas:

    z.b.: dos befehl: net send {host} {nachricht}

    im c++:

    cin >> host;
    cin >> nachricht;
    system("net send"); // aber wie die variable uebergeben???



  • indem du alles in einen string schreibst? Der string sieht dann am Ende so aus:

    "net send HOST NACHRICHT"

    und den kannst du dann problemlos übergeben. Am besten kann man Strings aneinanderhängen mit strcat() wie oben bereits erwähnt.

    MfG SideWinder



  • jetzt kam die erleuchtung danke


Anmelden zum Antworten