System-Befehl... : (



  • Hi !
    Ich muss mit Hilfe des System-Befehls ein Programm schreiben das auf eine ISQL-Datenbank zugreift... nun habe ich jedoch ein banales Problem mit dem System-, bzw Cin-Befehl. Es soll ein Befehl automatisch generiert werden, nachdem nur ein File eingegeben wurde...(ich will immer nur das File eingeben lassen, damit es weniger Eingaben gibt) etwa so:

    string file;
    string command;
    command = "form ";
    
    cin >> file;
    
    // befehl = "form beispiel"
    
    system(befehl)
    

    Nun will ich diese beiden Strings in einen Befehl bekommen, aber irgendwas läuft da immer was falsch 😞 !
    Bei den meisten Versuche die ich unternommen habe, wird das Leerzeichen als Stringende angesehen und dann der System-Befehl nur mit "form" ausgeführt. : (
    Würde mich freuen wenn mir da jemand weiterhelfen könnte...



  • http://cplus.kompf.de/artikel/strings.html

    command = "form ";
    command += file;
    


  • *ggg*
    da hätte ich aber auch selbst drauf kommen können! Ist ja schon fast peinlich...
    Naja, vielen Dank! 🙂



  • string file = "ls -";
    string command;
    cin >> command;
    file += command;
    system(file);
    
    error: cannot convert ` std::string' to `const char*' for argument `1' to `int system(const char*)'
    

    der system befehl nimmt doch immer nur systembefehle direkt entgegen (" ") oder const char* ( ) <---- ohne anführungsstriche.
    string operationen lässt der nicht zu.
    probiert mit dev-cpp (mingw) und gcc.
    wie umgeht man dann sowas?
    hab das schon mal versucht strings zusammen zu fügen, bekomme aber immer diese fehlermeldung. 😕



  • system(file.c_str());
    

    [edit]
    natürlich file nicht command 😃



  • Um von einem String const char* zu erhalten reicht folgendes aus:

    std::string meinString = "IrgendeinText";
    const char* meinChar = meinString.c_str();
    

    Auf dein Code bezogen:

    system(file.c_str());
    


  • das funktioniert ja super, dankeeee 🙂
    jetzt kann ich endlich mal mein prog erweitern mit system(alles mögliche sowieso und so weiter)


Anmelden zum Antworten