Redirection stdout sur un FILE - C - Programmation
Marsh Posté le 12-06-2012 à 03:14:43
#include <unistd.h> 
int dup(int oldfd); 
int dup2(int oldfd, int newfd); 
 
| Citation : dup : duplique un descripteur et renvoie le premier descripteur libre dans la table du processus  | 
 
| Citation : dup2 : permet de choisir le descripteur (et écraser l’ancien)  | 
 
 
et par exemple, avec réversibilité: 
int fd = open("tutu", O_WRONLY|O_CREAT); 
int fd1 = dup(STDOUT_FILENO); // on duplique pour sauvegarder l'état 
dup2(fd, STDOUT_FILENO);   
printf("tutu" );  
..... 
dup2(fd1, STDOUT_FILENO); // On rétablit l'état de stdout 
close(fd1); 
close(fd); 
 
Bon si tu es sous Windows, il doit (peut-être) y avoir des équivalents: http://www.suacommunity.com/dictionary/dup-entry.php 
 
A+,
Marsh Posté le 12-06-2012 à 00:16:40
Bonjour à tous,
 
 
Voilà, j'ai une fonction qui affiche tout bêtement un printf(), et il faut que la sortie se fasse dans un fichier.
J'ai fait des recherches sur freopen, fd/dup, mais je n'ai trouvé à chaque fois que des solutions qui prennent en paramètre le nom en char.
Moi j'en voudrais une qui prenne un argument de type FILE!!
Quelqu'un peut-il m'aider?