以编程方式使用 C setlocale() 更改小数分隔符



首先,这必须用C和UNIX标准C函数(由于项目约束(真正解决。因此,C++库或替代库不在问题的范围之内。

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

但是,我的情况是文件指定的小数分隔符,因此我希望我的程序暂时更改小数分隔符。

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

如何做到这一点?

好吧,恐怕您不会喜欢解决方案:)

首先,由于您使用的是setlocale因此必须提供区域设置名称。因此,应该有一个区域设置LC_NUMERIC其中包含您在程序执行时定义的属性。因此,您需要定义一个新的区域设置。您可以使用 localedef 定义它 您可以使用此文档作为制作和使用新语言环境的指南,并使用此站点来获取源文件,您可以将其用作自定义区域设置定义的模板。

最新更新