C99标准说:
表示无穷大的双参数在其中一个中转换 styles [ - ] inf或[ - ] infinity - 实现的样式是 实现定义。 (p.278第7.19.6.1节)
不幸的是在Windows上:
printf("%f\n", 1.0f/0.0f)
产生:1。#INF00
这是一个问题,因为有些应用程序期望符合C标准的字符串作为输入(C#的Double.Parse也适用于“Infinity”但不适用于“1.#INF00”,奇怪的是“无限”至少在我不行时尝试使用Mono)。
我的问题是如何在Windows下强制printf输出“inf”或“infinity”而不是1.#INF00?
(我正在使用MinGW gcc 4.8.2进行编译)