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?