来自The Linux Programming Interface:
使用setlocale()设置语言环境有两种不同的方法。语言环境 argument可以是一个字符串,指定系统上定义的一个语言环境(即 / usr / lib / locale下其中一个子目录的名称,例如de_DE或en_US。 或者,可以将语言环境指定为空字符串,这意味着应该从环境变量中获取语言环境设置:
setlocale(LC_ALL,“”);
我们必须进行此调用,以便程序能够识别语言环境变量。如果省略调用,则这些环境变量对程序没有影响。
所以根据我的理解,如果我的程序没有明确调用setlocale
函数,我的程序将使用默认的locale
,POSIX
系统中的*nix
,对?我无法搜索指定的文档。
答案 0 :(得分:5)
查看the man
7.4程序如何设置区域设置
C程序在启动时会继承其语言环境变量。 这会自动发生。但是,这些变量不会自动控制库函数使用的语言环境,因为ISO C表示默认情况下所有程序都在标准“C”语言环境中启动。 使用环境指定的语言环境,你必须调用setlocale。请按以下方式调用:
setlocale (LC_ALL, "");
强调我的