[Issue 19820] New: Add readfln to std.stdio

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Apr 23 20:35:59 UTC 2019


https://issues.dlang.org/show_bug.cgi?id=19820

          Issue ID: 19820
           Summary: Add readfln to std.stdio
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: phobos
          Assignee: nobody at puremagic.com
          Reporter: andre at s-e-a-p.de

It is quite hard to use readf for beginners as explained here by Ali and Adam.
https://forum.dlang.org/post/agspmmtjrthzxefjbwej@forum.dlang.org

Quote from Ali:
> The solution is to use readln, which regrettably comes too late in the book:

Quote from Adam:
> For "%s" with a string argument, it reads ALL of stdin into that string.
> This means you need to send an end-of-file indicator to the program. ctrl+z
> on Windows does this, and ctrl+d can on Linux (you might have to hit it 
> twice there; it doesn't technically send end of file, but can be read as it 
> by the program if there is no other input pending in the buffer).

> This is quite bizarre for new users, I agree, but it isn't technically 
> invalid.

> (my personal feeling though is readf is just a pile of confusion and should > almost never be used. I hate that it is introduced so early in most 
> tutorials... I'd rather have it in an appendix for special cases only rather
>  than like page 3.)

I would suggest to add a function readfln which solves the issue of readf.
readfln executes readln, strip #10 #13 and then executes formattedRead

Signature of readfln should be similair to readf
https://dlang.org/phobos/std_stdio.html#.readf

--


More information about the Digitalmars-d-bugs mailing list