Comment plus ton regirige les plus de sortie (stdout) vers autre chose que l'ecran ? ... un fichier par exemple.
Comment plus ton regirige les plus de sortie (stdout) vers autre chose que l'ecran ? ... un fichier par exemple.
Pour le faire directement dans le code C, tu peux regarder du cote des fonction dup2. De memoire la question avait deja ete evoquer et resolue sur ce forum.
Sinon tu peux aussi tout simplement adapte l'appel du programme pour rediriger le flux de sortie standard vers un fichier, si ton progamme s'appelle prog.exe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part prog.exe > out.txt
sous linux, il y a les appels systemes dup() et dup2()
sous windows: j'avais vu un algo dans "C/C++ la bible du programmeur" mais je ne l'ai plus en tete, desolé
Ou sinon tu peux utiliser d'autre FILE *. Par exemple si c'est pour du debug que tu veux mettre soit en stdout soit dans un fichier, tu peux faire ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if (nom_fichier!=NULL) {/* fichier debug */ output=fopen(nom_fichier,"w"); /* TODO : error */ }else{ output=stdout; } /* ... */ fprintf(output,"Debug :...
La fonction freopen peut convenir non ?
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part FILE* freopen(char* fichier, char* mode, FILE* flux) ;
Nas'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char NomFicher[]="fichier.txt" ; freopen(NomFichier, "w" , stdout); /* nom du fichier, mode de lecture, sortie standard */
Oki merci !!
Je pense que je vais réussir a me debrouiller avec ca.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager