我写了一个读取obj的函数。 file并将字符串转换为浮点数。代码工作正常,直到stof()函数停止正常工作。我不确定这部分是如何突然停止工作的,因为它似乎是一件非常直接的事情,而且它现在每次都有效。
ftemp = std::stof(stemp);
ftemp和stemp(float和string的存储)在我的函数开头声明,并为每个数字覆盖。我使用fstream和迭代器来查找数字。其余的代码很容易想象并按预期工作,所以除了失败的部分之外我会省略所有内容。
这是在.obj文件中,应该代表一个纹理平面。
# Blender v2.68 (sub 0) OBJ File: ''
# www.blender.org
v -1.000000 1.000000 -1.000000
v 1.000000 1.000000 -1.000000
v -1.000000 1.000000 1.000000
v 1.000000 1.000000 1.000000
vt 0.000100 0.000100
vt 0.999900 0.000100
vt 0.000100 0.999900
vt 0.999900 0.999900
s off
f 2/1 1/2 4/3
f 1/2 3/4 4/3
它在读取vt线时失败。因此,当stemp持有“0.000100”时,ftemp应保持0.000100但它仍然存在:9.9999997e-005。其余的工作方式相同,并且正确。
非常感谢任何帮助。