string2double
使わなくなったので晒し。
元はman strtolからパクったんだったと思う。
bool string2double(char *str, double *digit) { char *end_ptr; errno = 0; *digit = strtod(str, &end_ptr); if (errno == ERANGE || (errno != 0 && *digit == 0)) { return false; } if (end_ptr == str) { return false; } if (*end_ptr != '\0') { return false; } return true; }