Thread overview
How stdin.readf ignore space char?
Sep 03, 2019
lili
Sep 03, 2019
a11e99z
Sep 03, 2019
lili
Sep 03, 2019
a11e99z
Sep 03, 2019
a11e99z
September 03, 2019
Hi guys:

   input is two line, first line is a number n and second line is n float point number,
    e.g. 3
         1.1 2.2 3.3
    how use stdin.readf get all number. i code below but not work well.

        int n;
        stdin.readf!"%d\n"(n);
        writeln("read n:",n);

        foreach (i; 0..n)
        {
                double x;
                stdin.readf!"%f"(x); //only return first number, why?
                writeln(x);
        }

September 03, 2019
On Tuesday, 3 September 2019 at 12:55:29 UTC, lili wrote:
> Hi guys:
>
>    input is two line, first line is a number n and second line is n float point number,
>     e.g. 3
>          1.1 2.2 3.3
>     how use stdin.readf get all number.

https://dlang.org/library/std/stdio/readf.html
see example
September 03, 2019
On Tuesday, 3 September 2019 at 13:21:16 UTC, a11e99z wrote:
> On Tuesday, 3 September 2019 at 12:55:29 UTC, lili wrote:
>> Hi guys:
>>
>>    input is two line, first line is a number n and second line is n float point number,
>>     e.g. 3
>>          1.1 2.2 3.3
>>     how use stdin.readf get all number.
>
> https://dlang.org/library/std/stdio/readf.html
> see example

        string d = "3.4    3.3 ";
        double a;
        double b;

        //formattedRead(d,"%f %f", &a, &b);

        d.readf!" %s %s"(a,b);//hug
        writeln(a,b);

September 03, 2019
On Tuesday, 3 September 2019 at 12:55:29 UTC, lili wrote:
> Hi guys:
>
>    input is two line, first line is a number n and second line is n float point number,
>     e.g. 3
>          1.1 2.2 3.3
>     how use stdin.readf get all number.

u can read array this way too
> auto darr = readln.split.map!(x => x.to!double).array;
> darr.writeln;

September 03, 2019
On Tuesday, 3 September 2019 at 13:25:30 UTC, lili wrote:
> On Tuesday, 3 September 2019 at 13:21:16 UTC, a11e99z wrote:
>> On Tuesday, 3 September 2019 at 12:55:29 UTC, lili wrote:
>
>         string d = "3.4    3.3 ";
>         double a;
>         double b;
>
>         //formattedRead(d,"%f %f", &a, &b);
>
>         d.readf!" %s %s"(a,b);//hug
>         writeln(a,b);

and this too
> string ds = "1.1 2.2 3.3";
> double[] darr;
> ds.formattedRead!"%( %s%)"( darr );
> darr.writeln;