• # Re: petit problème avec popen()

    Posté par . En réponse au journal petit problème avec popen(). Évalué à 5.

    c'est à cause de la bufferisation de FILE* (d'ailleurs ton C++ il en a que le nom)


    #include <stdio.h>

    int main(int argc, char *argv[])
    {
    int c;
    FILE* tmp = popen("for i in 10 9 8 7 6 5 4 3 2 1; do echo $i; sleep 1; done", "r");

    setvbuf(tmp, NULL, _IONBF, 0);

    while( (c=fgetc(tmp)) != EOF)
    {
    putchar(c);
    }

    fclose(tmp);

    return 0;
    }


    et voilà !

    man setbuf
    man setvbuf