The following bug was discovered during a process of migrating an application from Visual C++ 8 to Visual C++ 11. As the program in the "steps to reproduce" section demonstrates, the decimal representation of two particular doubles (std::numeric_limits<double>::min() and 4.26144921954407e-309 - lowest 16 bits being equal to 0 could be the pattern here?) cannot be streamed into a double from an istringstream. However, sscanf does not suffer from the same problem. The iostreams implementation in Visual C++ 8 does not exhibit the same issue either.
We would appreciate your attention and a fix.