我正在用C编写一个程序,它将文件中的单词适当地分类到选定的本地化和编码。我使用的是MAC OS X 10.7。问题是,即使我在此之前调用setlocale(LC_CTYPE, NULL)
来将C
设置为默认环境设置,调用setlocale(LC_CTYPE, "")
始终会返回LC_CTYPE
。有人可以解释发生了什么吗?
答案 0 :(得分:2)
嗯,它只是意味着默认语言环境是"C"
。你有什么期望?
将setlocale
与NULL
指针一起使用将返回程序的当前区域设置(不更改它)。
将setlocale
与""
一起使用将根据软件的环境变量选择用户的区域设置。
所以在你的情况下,在这两种情况下都是"C"
。看起来像正常行为。