Permet d'associer un descripteur déjà utilisé à une autre ouverture de fichier. Ceci permet de réaliser facilement les redirections du shell.
FILE *freopen(const char *ref,
const char *mode,
FILE *f)
Par exemple les redirections de la ligne shell:
com <ref1 >>ref2peuvent être réalisées avec
if (!freopen("ref1", "r", stdin) || !freopen("ref2", "a", stdout)) { fprintf(stderr, "erreur sur une redirection\n"); exit(1); } execl("./com", "com", NULL);