Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Re: [Caml-list] Format question
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Alessandro Baretta <alex@b...>
Subject: Re: [Caml-list] Format question

Oleg wrote:
> Oleg wrote: 
>>Is it possible to define a printf that automatically flushes stdout?
> I figured it out:
> let my_printf (x : ('a, out_channel, unit) format) = 
>    let tmp = Printf.printf x in flush stdout; tmp;;
> Oleg

I don't think this does what you want it to. This functions 
starts to parse the format string and prints it until the 
first conversion specifier, where it stops. Then it flushes 
stdout and returns a closure which will perform the 
specified conversion. When the function is then invoked on 
the actual parameters of the conversion, stdout is no longer 

Basically, this works only if what you're printing is just 
constant strings. But then you're probably better off with

let my_printf x = print_string x; flush stdout


To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: