Mit einem c prgramm eine cmd funktion ausführen



  • Hi
    Ich habe ein Prblem
    Ich möchte ein c programm in dem ich einen ping ins netz schicke
    kann man mit system("") Variablen verwenden 😮
    bitte helft mir

    ich habe die IP Adresse in einzelne teile Unterteilt unterteilt
    und mit variblen verbunden
    zB:

    192.168.66.56
    a b c d

    system("ping a.b.c.d")

    Danke
    für eure Hilfe



  • Wenn ich dich richtig verstehe ist dein Ziel einen String zusammenzubauen, der die gesamte Adresse + den Befehl enthaelt.
    Wenn a, b usw schon als String vorliegen kannst du sie einem vorhandenen mit strcat(..) anfuegen. Dieser muss also schon "ping " enthalten. Wenn sie als Ints vorliegen musst du sie erst mittels itoa umwandeln, dann faehrst du wie oben fort.
    Diesen String uebergibst du dann einfach der system Funktion.

    Gruss,
    DeSoVoDaMu



  • ...oder sprintf()

    char system_cmd[200];
    int a, b, c, d;
    
    a=127;
    b=0;
    c=0;
    d=1;
    
    // String "ping 127.0.0.1" zusammensetzen:
    sprintf(system_cmd,"ping %i.%i.%i.%i",a,b,c,d);
    
    // Befehl aufrufen:
    system(system_cmd);
    

    ...aber das hat nichts mit WinAPI zu tun 😉



  • Danke für eure hilfe Ihr habt mir wirklich geholfen

    aber da hat sich leider wieder eine neue Frage ergebnen
    wie kann ich einlesen ob die Adresse vorhanden Ist

    Also nochmals Danke vielleicht könnt ihr mir da nochmal helfen

    Sewus Utzi 😃



  • Du könntest die Ausgabe in eine Datei umlenken und dann die Datei auslesen.
    (Geht glaube ich mit "ping 127.0.0.1 >> c:\datei.txt" oder so...)

    Oder andere Möglichkeiten, die allerdings wohl nichts für Anfänger sind:
    ...mit WinAPI gibt es noch die Möglichkeit die Ausgabe via Pipe einzulesen
    ...oder du nimmst eine dieser beiden Varianten zum pingen:
    http://tangentsoft.net/wskfaq/advanced.html#ping


Anmelden zum Antworten