Je veux rouvrir le stdin
y stdout
(et peut-être stderr
tant que j'y suis) les manipulations de fichiers, de sorte que les futurs appels à printf()
o putchar()
o puts()
ira dans un fichier, et les futurs appels à getc()
et autres viendront d'un fichier.
1) Je ne veux pas perdre de façon permanente les entrées/sorties/erreurs standard. Je peux vouloir les réutiliser plus tard dans le programme.
2) Je ne veux pas ouvrir de nouveaux filehandles car ces filehandles devraient être souvent transmis ou globaux (frissons).
3) Je ne veux utiliser aucune open()
o fork()
ou d'autres fonctions dépendantes du système si je ne peux pas m'en empêcher.
Donc, en gros, est-ce que ça marche de faire ça :
stdin = fopen("newin", "r");
Et, si c'est le cas, comment puis-je obtenir la valeur originale de stdin
retour ? Dois-je le stocker dans un FILE *
et le récupérer plus tard ?
1 votes
Notez que
stdin
,stdout
ystderr
sont des variables globales.