gpt4 book ai didi

c - 在 C 中解析字符串中的浮点值时出现问题

转载 作者:行者123 更新时间:2023-11-30 20:04:36 25 4
gpt4 key购买 nike

假设有一个字符串我想用C语言解析。为了进行解析,我想使用函数 sscanf()

现在,在字符串中的某个点上,有一个浮点类型的数字,它可能扩展到一个很大的值(小数点之前/之后),有时甚至更小。基本上这意味着数字的宽度是可变的。

例如,

该数字可以是 15.5686、15.5686778887 或 156.867788

让我们采用这样的字符串

Str1 = "Hello15.5686World"
Str1 = "Hello15.5686778887World"

在运行时,可能必须解析上述任何字符串。

然而,数字的起点是固定的,但我们不知道它的终点在哪里。那么,如何确定相同的内容以便“World”(数字后面的子字符串)可以被正确解析或读取。

最佳答案

您可以使用 strtod 系列函数来解析字符串。您可以将指向字符的指针传递给 strtod,解析数字后,该指针将指向字符串的其余部分:

const char *Str1 = "Hello15.5686World", *endptr;
double num = strtod(Str1 + strlen("Hello"), &endptr);

printf("number: %f, rest of string: %s\n", num, endptr);

关于c - 在 C 中解析字符串中的浮点值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39142321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com