Ale*_*lke 29
strcmp() 逐个获取字符串的字节,并将它们与字节进行比较.
strcoll()获取字节,使用语言环境转换它们,然后比较结果.转换根据语言重新排序.在法语中,强调的字母出现在非强调的字母之后.所以é是在e之后.但是,é在f之前.strcoll()做对了.strcmp()不太好.
但是,在许多情况下strcmp()就足够了,因为您不需要在使用中显示以语言(语言环境)排序的结果.例如,如果您只需要快速访问由字符串索引的大量数据,则可以使用由该字符串索引的映射.对那些使用strcoll()通常非常慢的人进行排序可能完全没用(strcmp()至少与之相比).
有关字符的详细信息,您可能还需要查看Unicode网站.
关于语言环境,它是语言.默认情况下,它设置为"C"(或多或少,没有区域设置).选择位置后,将相应地设置区域设置.您还可以设置LC_LOCALE环境变量.实际上有很多这样的变数.但一般来说,您使用预定义函数自动将这些变量考虑在内并为您做正确的事情.(即格式化日期/时间,格式数/度量,计算大小写等)