在C语言中,atof函数和strtod函数都可以将字符串转换为浮点数。它们的主要区别在于字符串中包含的非数字字符处理。
下面是一个示例代码,演示了atof函数和strtod函数的具体用法和区别:
#include
int main() { char str[] = "3.1415926535abc"; char* end; double num1 = atof(str); double num2 = strtod(str, &end);
printf("num1 = %f\n", num1);
printf("num2 = %f\n", num2);
printf("end = %s\n", end);
return 0;
}
输出结果为: num1 = 3.141593 num2 = 3.141593 end = abc
可以看出,对于字符串中包含非数字字符的情况,atof函数会将其忽略,而strtod函数会将其作为第二个参数返回。因此,在实际使用中需根据具体需求选择合适的函数。
上一篇:atof返回无法将字符串转换为浮点数: '2, 5'
下一篇:atof是什么意思?