C ++从行中获取浮点数

时间:2015-10-17 16:15:39

标签: c++

我正在创建OBJ文件加载器。

这是我的.obj文件的一部分:

v  0.012  0.032  0.023
v  0.232  0.0323  1.013
v  0.0123  1.031  0.2310

从一行获取这3个不同花车的最佳方法是什么?

我正在使用std :: ifstream。

我正在寻找一个像Java的Float.parseFloat这样的函数。

谢谢!

1 个答案:

答案 0 :(得分:0)

按空格分隔组件,现在您有一个字符串数组。将浮点值转换为每个字符串。使用格式标识符(%f)将新浮点值放入字符串中,并检查由浮点值生成的字符串是否等于原始对应字符串。
(例如(字符串)0.012 == @“0.012”但是(字符串)0!= @“v”)

(我假设'v'被转换为float返回0,它可能会返回我想的unicode值,但无论如何它都不会返回'v'因为那不是一个有效的float。所以这仍然是工作)

*按\n分隔原始文件以获取行,一旦你想要的行,你想要的空格