Comment faire pour rediriger la sortie de retour à l'écran après freopen(“out.txt”, “a”, stdout)

#include <stdio.h>

int main() {
    printf("This goes to screen\n");
    freopen("out.txt", "a", stdout);
    printf("This goes to out.txt");
    freopen("/dev/stdout", "a", stdout);
    printf("This should go to screen too, but doesn't\n");

    return 0;
}

J'appelle freopen pour rediriger le stdout à out.txt puis-je imprimer quelque chose sur le fichier, maintenant, je veux rediriger le dos à l'écran, mais freopen("/dev/stdout", "a", stdout); ne fonctionne pas. Est-il possible de le faire à l'aide de la norme ANSI C ou POSIX appels système?

InformationsquelleAutor Hoffmann | 2009-12-15