On 08/25/2011 11:34 PM, bellinom wrote:
> Thanks for that, I didn't realize they were that far out of date. I use the latest > version of the compiler on my home PC, so I'd like to know the most current ways
> of reading from stdin.
>
> Thanks

Currently what you get is readf and readln with std.conv.to, and if you need speed for formatted reads, use the C function scanf.


Some examples:

import std.stdio;

read a single line:

string r=readln();

read array of whitespace-delimited integers on a single line:

auto arr=to!(int[])(strip!(readln()));

read all of stdin by line:

foreach(s; stdin.byLine){
    // s is the current line
}

int i;
readf(" %s",&i); // read i, skipping leading whitespace

with readf, you can always use %s in your format strings.

Don't use readf if you care for performance, because the current implementation is very slow.


Reply via email to