system() als Variable



  • ich möchte die Ausgabe von system() in einem Memo ausgeben. Wie kann ich an die Ausgabe kommen?

    PS.:Ich kenne die Nachteile von system(), aber ich möchte eine Eingabeaufforderung mit graphischer Oberfläche schreiben!



  • system() gibt nichts aus. Du könntest jedoch die Ausgabe des Commandos, das du system() aufrufst, in eine Datei umlenken und anschließend den Inhalt dieser Datei einlesen.



  • und wie soll das gehen?

    Sorry, aber ich bin nicht allzu fit in C/C++



  • Hat nichts mit C++ zu tun.
    Unter Unix und Windows kannst du per ">" stdout eines Kommandos in eine Datei umleiten, also z.B.: $ls > foo

    Hier ein kleines Beispielprogramm:

    #include <cstdlib>
    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    
    int main() {
       string command = "dir";
       system((command + " > foo.txt").c_str());
       ifstream i("foo.txt");
       string buffer;
    
       while (i.good()) {
          getline(i,buffer,'\n');
          cout << buffer << endl;
       }
       return 0;
    }
    

Anmelden zum Antworten