对函数的调用
setlocale(LC_MESSAGES , NULL)返回“”(空字符串),不为Null或任何区域设置。
为什么我会得到这个返回值?
是不是因为平台没有实现这个功能?
发布于 2017-03-20 21:37:37
在setlocale的输入中,空字符串""表示环境的默认区域设置,它可能与"C"表示的最小C语言区域设置不同。可能是使用空字符串调用了setlocale,这是平台指示这一点的方式。然而,人们可能希望甚至期望返回的字符串能够提供更多的信息,例如"en_US.UTF8"。
也许环境中的信息格式不正确或没有得到支持,这是系统所能做的最好的事情。应该检查以空字符串作为输入的对setlocale的所谓调用的返回值,因为此时如果失败,将返回一个空指针。
https://stackoverflow.com/questions/3100596
复制相似问题