我有一些问题,但我无法在任何地方找到答案。
所以,基本上,我知道什么是语言环境,我知道如何使用(设置)它,但我不知道的是
幕后工作如何,我很想知道。 所以,当我使用IO函数时,让我们说例如scanf做浮动,当我需要决定国家是否使用小数点或逗号(我实际上是从小数逗号国家:)),
scanf函数“查看”以检查当前的语言环境?
但是如果我没有在我的代码中设置它,它默认是创建一些标准语言环境本身,还是从操作系统获取它?
例如,当您获得stdout stderr和stdin的控制台时,在代码部分?
答案 0 :(得分:5)
默认情况下,您的程序将具有C
区域设置。
当您运行setlocale(LC_ALL,"");
时,您将从外部环境设置区域设置(或者您只能设置部分LC_*
)。
通过调用setlocale(LC_ALL,"specific_locale");
,您将设置特定的区域设置。
所有I / O函数都应遵循当前的语言环境(标准C I / O函数)。
代码后面的行为取决于您使用的操作系统和编译器。