readf error bug?

John Colvin via Digitalmars-d digitalmars-d at puremagic.com
Sat May 9 02:23:23 PDT 2015


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.


More information about the Digitalmars-d mailing list