Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Comment_rediriger_les_entrées/sorties_ standards ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Maxence Guesdon <max@s...>
Subject: Re: [Caml-list] =?iso-8859-1?Q?Comment_rediriger_les_entrées/sorties_?= standards ?

> Bonjour,
> 
> Je voudrait rediriger les entrées/sorties standards. Je croyais pouvoir le
> faire en tapant :
> 
> let std_out = open_out "c:\projet\entree"
> 
> mais  l'écriture se fait toujours à l'écran. De même en utilisant
> 
> output_string std_out "toto"
> 
> le fichier est toujours vide. Je vois pourquoi, ça ne peut pas marcher ...
> mais y a-t-il un moyen de rediriger les E/S standards ?
Ceci marche sous Unix :

let _ = Unix.close Unix.stdout
let _ = open_out "tutu"

Il est très important que ton fichier ouvert par open_out soit le premier
fichier ouvert après le Unix.close, car le système se servira alors du premier
descripteur libre (0 ici, qui vient d'être libéré par la fermeture de stdout)
lors de l'ouverture de ton fichier, et c'est justement ce descripteur 0 qui est
utilisé par la suite par les opérations d'affichage sur la sortie standard.
Encore une fois, c'est sous Unix, je ne sais pas si le comportement est le même
sous Win$*%#.

--
Maxence Guesdon

-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr