On Wednesday, 23 July 2014 at 15:12:13 UTC, John Colvin wrote:
On Wednesday, 23 July 2014 at 14:53:35 UTC, Chris wrote:
Short question: how can I grab the stdout written to by C(++), i.e.

C code:

fwrite(...);

std.cstream will be replaced sooner or later.

I don't think I understand the question. stdout is the same file handle, doesn't matter whether that's using c++'s cout, c's stdout in stdio.h or D's std.stdio.stdout


writeln("hello world");

is just short for

stdout.writeln("hello world");


also, if you want c io functions, import core.stdc.stdio;


If you're wanting to grab the output from another process, take a look at std.process

It's a small library written in C++. I can either load it dynamically or incorporate it into my program. Either way, when the C++ part does its job, I can see the correct output in the console window, but I cannot grab it. After analyzing the C++ code, it seems that it uses fwrite and writes to stdout.

When I grab stdout I only get the output from the D part, not from the C++ part.

Reply via email to