According to the SVID release 3, strtod and atof have the same errno properties. ?scanf does not set errno to ERANGE. X3J11, X/Open, and POSIX may ?all? be different for all I can tell right now. NCEG should assassinate ERRNO.