使用C setlocale()

时间:2016-02-16 19:10:44

标签: c setlocale

首先,这必须在C中真正解决,并且使用UNIX标准C函数(由于项目限制)。因此,C ++或替代库超出了问题的范围。

我知道如何使用setlocale设置默认用户区域设置,以及设置标准C / POSIX区域设置。

但是,我在小数分隔符是文件指定的情况下,所以我希望我的程序暂时改变小数分隔符。

LC_NUMERIC需要一个区域设置名称......但我不想给它一个区域设置名称,而是直接给它设置分隔符。

如何做到这一点?

1 个答案:

答案 0 :(得分:2)

好吧,我担心你不会喜欢这个解决方案:)

首先,由于您使用setlocale进行操作,因此必须提供区域设置名称。因此,在程序执行时应该有一个具有LC_NUMERIC属性的语言环境。因此,您需要定义新的区域设置。您可以使用localedef进行定义。您可以使用this doc作为制作和使用新语言环境的指南,并使用this site获取可用作自定义语言环境定义模板的源文件