可以使用 strncpy() 函数将字符串复制到一个新的缓冲区中,然后将缓冲区作为参数传递给 atof() 函数。
示例代码:
#include
#include
#include
int main() {
char str[] = "3.14a";
char buf[6];
strncpy(buf, str, 5);
buf[5] = '\0';
printf("%f\n", atof(buf));
return 0;
}
在此代码中,我们将字符串 "3.14a" 复制到一个长度为 6 的缓冲区中,然后使用 atof() 函数将缓冲区中的字符串转换为一个浮点数。由于缓冲区的最后一个字符是 '\0',所以不会影响 atof() 函数的解析。