stdout redirect

Philip Stuckey via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Apr 11 21:39:05 PDT 2015


On Thursday, 12 April 2012 at 08:11:58 UTC, Andrea Fontana wrote:
> On Wednesday, 11 April 2012 at 15:25:56 UTC, Stefan wrote:
>> On Wednesday, 11 April 2012 at 13:00:45 UTC, Andrea Fontana 
>> wrote:
>>> On Wednesday, 11 April 2012 at 12:46:30 UTC, Andrea Fontana 
>>> wrote:
>>>> How can I redirect stdout / stderr to file (from D not 
>>>> shell)?
>>>
>>> Self-reply:
>>>
>>> It works using std.c way:
>>>
>>> import std.cstream;
>>> std.c.stdio.freopen(args[4].ptr, "w+", dout.file);
>>> std.c.stdio.freopen(args[4].ptr, "w+", derr.file);
>>
>> Careful: D strings are not zero-terminated. 
>> args[4].toStringz() is the safer choice.
>>
>> Cheers,
>> Stefan
>
> Good point Stefan!

why not:
import std.stdio;
stdout = File(args[4], "w+");
stderr = File(args[4], "w+");



More information about the Digitalmars-d-learn mailing list