-1

作为实践,我正在尝试用 2 个简单的命令制作一个简单的假外壳。这也是我第一次使用 strtok。它需要一个命令(get 或 set)和一个参数来访问(宽度、高度等)。我的问题是第三个参数是一个浮点数,我想将它从 strtok 返回的 char * 转换为我试图存储它的浮点变量。我现在不知所措。我过去在 c 语言方面的效率很高,但经过几年的休息后,我惊讶于自己忘记了多少语言。任何帮助将非常感激。我现在不在家,但如果需要,我会发布代码。

感谢您的时间。

4

2 回答 2

1

要解析 Double,您的选择是 -

  1. strtod() - 见这里这里

  2. atof() - 见这里

  3. sscanf() - 见这里

atof 不允许验证数字,如果解析失败,它将返回 0.0。sscanf 有点麻烦,而且 %f 格式可能不会出现在所有系统上。尝试查看 strtod 或 strtof (如果您想要浮动)。

你可以这样使用它(txt 是你的字符 *)

char *end;
float num = strtof(txt, &end);
if (end != txt + strlen(txt))
{
    // This means something went wrong
}
else
{        
    // This means everything is OK
}
于 2013-08-04T18:49:15.827 回答
1

也许atof是您正在寻找的东西?获取一个 char*(例如来自 strtok)并将其转换为双精度。

于 2013-08-04T18:38:03.330 回答