该
strtod函数的第二个参数很有用。
char *err;d = strtod(userinput, &err);if (*err == 0) { }if (!isspace((unsigned char)*err)) { }编辑:添加示例
该
strtod函数尝试将第一个参数的初始部分转换为双精度,并在没有更多字符或无法使用双精度字符的情况下停止。
输入结果---------- ----------------------------“ 42foo”将返回42 并让err指向“ foo”(* err =='f')“ 4.5”将返回4.5 并让err指向空字符串(* err == 0)“ 42”将返回42 并让`err`指向空格(* err =='')



