【发布时间】:2013-05-01 00:58:12
【问题描述】:
如果我想将 char 数组中的前 3 个字符解析为双精度字符,忽略后面的字符,我真的需要这样做吗?
int main() { const char a[] = "1.23"; char *b = malloc(sizeof(char) * 4); memcpy(b, a, sizeof(char) * 3); b[3] = '\0'; printf("%f\n", strtod(b, NULL)); // 打印 1.20000,这是我想要的 免费(乙); }难道没有像strtod 这样的函数可以让您指定它应该搜索数字的最大字符串长度吗?
编辑:我希望它打印1.2(它目前正在打印),不1.23!
【问题讨论】: