我遇到了一个非常奇怪的情况。事实上奇怪,我甚至不确定如何提出我的问题!
我正在使用以简单格式生成输出文件的代码。这种格式的细节不是很重要。重要的是在文件的某处,有几行(数万行),每行有三对数字,用空格和换行符\n
分隔。
每个数字都使用指数表示法编写,简单如下:
fprintf(outFile,"%e %e %e\n",x,y,0.0);
其中x
和y
是双打。
这是一个奇怪的部分。在其中一个文件中,大于100K +行左右,有一行打印为
7.812500e-02 -1.875000g+00 0.000000e+00
-1.875000g+00
中的 g + 00 究竟是什么?!
我使用这段代码超过5年,已经生成了超过几万个文件,这是我第一次看到这样的事情。我做了一些在线搜索但找不到任何东西?
有人请保佑我的理智!
答案 0 :(得分:1)
这是一个错误,代码没有显示任何可能的情况用“g”显示科学记数法,也许这个错误是由你的数据引入的所以我建议检查那个特定的文件,检查所有的NP字符,然后报告库中的错误。