调用函数
setlocale(LC_MESSAGES , NULL)
返回“”(空字符串)不是Null或任何语言环境。
为什么我会得到这个返回值?
是因为平台没有实现此功能吗?
答案 0 :(得分:0)
在输入setlocale
时,空字符串""
表示环境的默认语言环境,可能与"C"
表示的最小C语言环境不同。可能是setlocale
已使用空字符串调用,这是平台指示的方式。但是,人们希望或者甚至期望返回的字符串会提供更多信息,例如"en_US.UTF8"
。
环境中的信息可能不正确或不受支持,这是系统可以做的最好的。应该检查声称调用setlocale
并将空字符串作为输入的返回值,因为此时的失败将返回空指针。