0 Pluspunkte 0 Minuspunkte

Wie kann ich in meinem C Programm einen Systembefehl aufrufen (z.B ipconfig) und die Ausgabe in einem String speichern statt direkt in der Konsole anzuzeigen?

#include <stdio.h>
#include <stdlib.h>

int main( int argc, char **argv )
{

    char *result = system("netstat");
    
    printf("%s", result);

    return 1;
    
}
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst mit popen einen Prozess im Lesemodus öffnen und die Ausgabe damit in einem String speichern. Hier ein Beispiel auf GDBOnline.

#include <stdio.h>

main()
{

    FILE *fp;
    char line[1024];          

    fp = popen("whoami", "r");

    while ( fgets( line, sizeof line, fp))
        printf("%s", line);

    pclose(fp);

}

von