On Friday, 9 April 2021 at 16:11:26 UTC, Oleg B wrote:
Is space a special char for `formattedRead` and it simple stop
parse without throwing exception if not found space (that
represented in fmt string)?
Have `formattedRead` any other special chars?
Or it's bug?
I think it's a bug:
The char 0x20 is meant to be skipped till end of the string or a
parseable char in the format string by the function
readUpToNextSpec().
If the function found a whitespace in the input string, it's fine
and skipped as long there is another whitespace char. But if the
input string range is already done, it also does just nothing
anymore. For other chars if would throw the 'Cannot find
character' exception.
But the source declared this as "backwards compatibility":
```
string s = " 1.2 3.4 ";
double x, y, z;
assert(formattedRead(s, " %s %s %s ", &x, &y, &z) == 2);
assert(s.empty);
assert(approxEqual(x, 1.2));
assert(approxEqual(y, 3.4));
assert(isNaN(z));
```
So it seems to be a desired behaviour.