C语言环境问题

B.G*_*ill 7 c locale

我有一些问题,但我无法在任何地方找到答案.

所以,基本上,我知道什么是语言环境,我知道如何使用(设置)它,但我不知道的是

  1. 如何在幕后工作,我很想知道它.所以,当我使用IO函数时,让我们说例如scanf做浮动,当我需要决定国家是否使用小数点或逗号(我实际上是从小数逗号国家:)),

  2. scanf函数"看"来检查当前的语言环境?

  3. 但是,如果我没有在我的代码中设置它,默认情况下是否会创建一些标准语言环境,或者它是否从操作系统中获取?

  4. 例如,当您获得stdout stderr和stdin的控制台时,在代码部分?

Let*_*_Be 5

默认情况下,您的程序将具有C区域设置.

在运行时,setlocale(LC_ALL,"");您将从外部环境设置区域设置(或者您可以只设置部分LC_*).

通过调用,setlocale(LC_ALL,"specific_locale");您将设置特定的区域设置.

所有I/O函数都应遵循当前的语言环境(标准CI/O函数).

代码后的行为取决于您使用的操作系统和编译器.