readf error bug?

Dave Akers via Digitalmars-d digitalmars-d at puremagic.com
Sat May 9 02:32:22 PDT 2015


On Sat, 09 May 2015 09:23:23 +0000, John Colvin wrote:

> On Saturday, 9 May 2015 at 08:41:49 UTC, Dave Akers wrote:
>> On Saturday, 9 May 2015 at 08:34:42 UTC, Dennis Ritchie wrote:
>>> On Saturday, 9 May 2015 at 08:30:31 UTC, Dave Akers wrote:
>>>> The following...
>>>>
>>>> import std.stdio;
>>>>
>>>> void main() {
>>>> 	write("How many students are there? ");
>>>> 	int studentCount;
>>>> 	readf("%s", &studentCount);
>>>> 	write("How many teachers are there? ");
>>>> 	int teacherCount;
>>>> 	readf("%s", &teacherCount);
>>>>
>>>> 	writefln("Got it: there are %d students.", studentCount);
>>>> 	writefln("And there are %d teachers.", teacherCount);
>>>> }
>>>>
>>>>
>>>> When given the input...
>>>> 10 42
>>>>
>>>> will produce the error...
>>>> std.conv.ConvException@/usr/include/dlang/dmd/std/conv.d(2013):
>>>> Unexpected '4' when converting from type LockingTextReader to type
>>>> int
>>>>
>>>> I understand what is wrong and how to fix it but the produced error
>>>> is incorrect.
>>>
>>> To '\ n' does not remain in the input stream, it is necessary to write
>>> so:
>>> -----
>>> readf("%s ", &studentCount);
>>
>> I was meaning this as a bug report.
> 
> issues.dlang.org please, otherwise no-one will remember to fix it.

Submitted... or rather found a similar one and updated it.
https://issues.dlang.org/show_bug.cgi?id=12260


More information about the Digitalmars-d mailing list