On Saturday, 21 May 2016 at 21:40:36 UTC, Era Scarecrow wrote:
On Saturday, 21 May 2016 at 21:21:31 UTC, chaseratx wrote:
I'm learning D and I have a basic question.
I'm trying to write stderr to a file using open() (rather than
shell piping/redirection). It works for stdout but doesn't
seem to work with stderr.
http://pastebin.com/KgzR9wAF
stdout is written to the file, but stderr is not and outputs
to the shell. I'm not sure why. I Googled but couldn't find
an answer. Any hints?
// <= causes range violation, might use foreach instead
while (i < numbers.length) {
write(numbers[i], " ");
stderr.write(numbers[i]*10); //force stderr, 10x to
differentiate output
with (stderr) { //also force stderr
write(" ");
}
Thanks Era, but I am not trying to fix the range error. That was
put there intentionally to create stderr output. I'm trying to
figure out how to get ALL stderr output directed to a file the
same as if I had used a "2>error.log" redirect from the command
line.