shell-Ausgabe auslesen



  • Ich möchte ein shell-Kommando ausführen und die Ausgabe in einem String speichern!
    Bisher mach ich das so:

    FILE *ping = popen(command, "r");
    	char ausgabe[501];
    	int len = fread(ausgabe, 1, 500, ping);
    	ausgabe[len]=0;
    

    Ich will aber einen String der Klasse string und kein Array, wie geht das dann?



  • Hallo

    Schau dir die Methode std::string::c_str() an

    bis bald
    akari



  • Ja da bin ich auch schon draufgekommen, allerdings ist das nicht sonderlich schön...

    Mein Problem ist, dass dieser Code in einer Schleife steht und ca. beim 750. Durchlauf ein Speicherzugriffsfehler in

    int len = fread(ausgabe, 1, 500, ping);
    

    auftritt.

    Gibt es keine analoge Funktion für fread für strings aus <string>?


Anmelden zum Antworten