【发布时间】:2019-12-09 14:52:15
【问题描述】:
所以我们都知道调用setlocale() 会导致许多C 运行时函数根据当前活动的语言环境改变它们的行为。例如,当使用德语语言环境时,strtod() 会突然期望用逗号将整数与数字的小数部分分开,因为这是浮点数在德语中的表示方式。
我要查找的是所有 C 运行时函数的完整列表,这些函数可能会受到对setlocale() 的调用的影响。 man pages of setlocale 提到了一些功能,但列表远未完成,例如那里根本没有提到strtod()。
我为什么要寻找这样的清单?我需要将几个项目从可移植的“C”语言环境转换到系统的语言环境,并且我不想破坏任何东西,所以我需要对所有可能受语言环境更改影响的 C 运行时函数进行 grep 以适应或修复代码与任意语言环境兼容,而不仅仅是可移植的“C”语言环境。
【问题讨论】:
-
同样的问题从来没有任何答案stackoverflow.com/questions/29337287/…
-
en.cppreference.com/w/c/locale/setlocale 有一个相当长的列表,但我不知道标准中是否有完整的列表(C 或 POSIX)
-
这个问题的问题在于complete这个词,使得答案无法获得。