C ++ stof() 函数在多次工作后出错
c++ stof() function wrong after working multiple times
我编写了一个函数,用于读取 obj. 文件并将字符串转换为浮点数。代码工作正常,直到 stof() 函数停止正常工作。我不确定这部分是如何突然停止工作的,因为它似乎是一件非常简单的事情,而且到目前为止它每次都有效。
ftemp = std::stof(stemp);
ftemp 和 stemp(浮点数和字符串的存储)在我的函数开头声明,并为每个数字覆盖。我使用 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。其余部分以相同的方式工作并正确执行。
任何帮助将不胜感激。
>这是正确的。float
实现的单精度IEEE754保证精度高达7位左右。
9.9999997e-005
0.00000999999997
,所以它足够接近。
相关文章:
- QSqlquery prepare()和bindvalue()不工作
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 调用专用模板时出错"no matching function for call to [...]"
- 导入库可以跨dll版本工作吗
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 在Google Kick start中提交时出错
- 在c++中访问int到类对象的映射时出错
- 如果我决定输入 (1 2) 而它要求 x,为什么我的输出会出错,但如果我输入 (12) 工作正常
- C++输入重定向导致文件参数工作时出错
- 将工作线程信号与主窗口插槽 (Qt5) 连接时出错
- Clang+VS2013:包含c++标头时出错(vs2012:正在工作)
- C ++ stof() 函数在多次工作后出错
- 模板化代码在 G++ 下工作正常,但在 VC++ 下出错
- 类的详细信息:设计一组协同工作的类时出错
- 我的函数代码出错(停止工作)
- C++ 昨天分段错误测试的代码工作完美,现在它出错了