是*nix"posix"中程序的默认语言环境?

Nan*_*iao 4 c unix linux libc

来自Linux编程接口:

使用setlocale()设置语言环境有两种不同的方法.locale参数可以是一个字符串,指定系统上定义的一个语言环境(即/ usr/lib/locale下的一个子目录的名称),例如de_DE或en_US.或者,可以将语言环境指定为空字符串,这意味着应该从环境变量中获取语言环境设置:

setlocale(LC_ALL,"");

我们必须进行此调用,以便程序能够识别语言环境变量.如果省略调用,则这些环境变量对程序没有影响.

所以,按我的understaning,如果我的程序不调用setlocale明确的功能,我的程序会使用默认的locale,这是POSIX*nix系统中,对不对?我无法搜索指定的文档.

LPs*_*LPs 5

看着那个男人

7.4程序如何设置区域设置

AC程序在启动时继承其语言环境变量.这会自动发生.但是,这些变量不会自动控制库函数使用的语言环境,因为ISO C表示默认情况下所有程序都在标准"C"语言环境中启动.要使用环境指定的语言环境,必须调用setlocale.称其如下:

setlocale (LC_ALL, "");
Run Code Online (Sandbox Code Playgroud)

强调我的