Creating a "virtual" stdin/stdout/stderr
Colin Grogan
grogan.colin at gmail.com
Tue Oct 8 14:32:48 PDT 2013
On Tuesday, 8 October 2013 at 20:38:56 UTC, Daniel Davidson wrote:
> On Tuesday, 8 October 2013 at 20:26:49 UTC, Colin Grogan wrote:
>> On Tuesday, 8 October 2013 at 20:25:42 UTC, Colin Grogan wrote:
>>> Hi all,
>>>
>>> I want to create my own File in memory that I can pipe output
>>> to and read it in from another part of the program. I dont
>>> want to physically write data to disk, just store it in
>>> memory.
>>>
>>> I've been trawling the documentation for the past while and
>>> the closest I can find is std.stdio.tmpfile(), however this
>>> always opens in "rb" and therefore isnt useful for me (I
>>> think!)
>>>
>>> The reason I need to be able to make a File is because I want
>>> to send these IOstreams to std.processes spawnProcess().
>>>
>>> Maybe I'm just looking in the wrong place?
>>>
>>> Thanks in advance!
>>
>> I should have specified, this is std.stdio.File, not
>> std.stream.File.
>
> Is this helpful?
>
> import std.stdio;
> import std.process;
>
> void main() {
> auto p = pipe();
> p.write("This is test\n");
> p.close();
> foreach( line; p.readEnd.byLine ) {
> writeln(line);
> }
> }
>
> Thanks
> Dan
It does!
I see the Pipeing functionality in std.process now. Guess I
should have looked harder :)
Thanks.
More information about the Digitalmars-d-learn
mailing list