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);

Reply via email to