On 08/26/2011 12:19 AM, Timon Gehr wrote:
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()));

whoops, this is better:

auto arr=to!(int[])(split(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