我注意到了linux和windows的区别。 strcmpi是在windows C标准库中实现的,但它不在GNU的C标准库中实现。 C标准库中的函数strcmpi是由ISO定义的吗? 我怎样才能得到标准的文件? 谢谢。
POSIX标准(又名,UNIX)有strcasecmp()
但它不是C99 / ISO-C的一部分。
注意:如果将上面的引用与例如strcmp()
引用进行比较,您会注意到后者显式引用ISO-C,而前者不引用。 OpenGroup引用的一个有用的功能。
编辑:由于语言环境依赖关系被视为复杂化,请参阅上面的strcasecmp_l()
参考,它允许显式指定用于转换的语言环境。 Windows为此目的具有_strcmpi_l()
,同样遵循自己的命名约定。
不,这是一个非标准的扩展。 类Unix系统通常有一个strcasecmp
,它执行与MS的strcmpi
相同的任务。
不,在标准中快速CTRL + F不会返回strcmpi
。 这意味着它是一个非标准的扩展(Windows和GNU都有很多)。