Как вывести результаты «git diff» в Git Bash на окнах? [Дубликат]

Как указывали другие, popen() является наиболее стандартным способом. И поскольку ни один из ответов не предоставил пример с использованием этого метода, вот он:

#include <stdio.h>

#define BUFSIZE 128

int parse_output(void) {
    char *cmd = "ls -l";    

    char buf[BUFSIZE];
    FILE *fp;

    if ((fp = popen(cmd, "r")) == NULL) {
        printf("Error opening pipe!\n");
        return -1;
    }

    while (fgets(buf, BUFSIZE, fp) != NULL) {
        // Do whatever you want here...
        printf("OUTPUT: %s", buf);
    }

    if(pclose(fp))  {
        printf("Command not found or exited with error status\n");
        return -1;
    }

    return 0;
}
459
задан Francesco Menzani 4 June 2016 в 16:26
поделиться