首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++:字符串函数

C++:字符串函数
EN

Stack Overflow用户
提问于 2014-12-13 04:29:18
回答 2查看 237关注 0票数 4

我对C++编程非常陌生,我通过阅读书籍来了解基本知识。我遇到了两个有趣的函数strcmpi()stricmp()。我知道,这两个函数通过忽略字符串的大小写来按字母顺序比较字符串。所以我只想知道他们之间的区别。

任何帮助都将不胜感激.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-13 04:39:34

这两个函数都执行完全相同的操作(只要您坚持比较普通的ASCII字符串)。

问题是,这两个标准都不是ANSI C标准的一部分,所以您不能确定这些标准中的任何一个都适用于给定的编译器。

对于相同的功能,您还可以有其他名称。例如,_strcmpi()

在C/C++中没有标准的不区分大小写的比较原语,因此每个编译器都提供了自己的版本,名称不同。

最好的“标准”变体将是国际标准化组织C++ _stricmp,但我不会打赌地球上的每个编译器都支持它。

这背后的原因是,区分大小写的问题并不像看上去那么简单,因为各种语言的对话和扩展的字符编码都是如此。

虽然普通的ASCII字符串总是以相同的方式进行比较,但在尝试比较UTF16字符串或其他扩展字符集时,您可以预期实现上的差异。

这篇文章的角度来看,一些C++极客似乎也有很大的兴趣重写他们自己的版本。

票数 3
EN

Stack Overflow用户

发布于 2014-12-13 04:39:10

strcmpi和stricmp是strcmp的不区分大小写的版本。他们在所有其他方面都是一样的。_strcmpi和_stricmp是strcmpi和stricmp的替代名称。strcasecmp是strcmpi的别名。

int strcmp (const char *string2 1,const char *string2 2);

int strcmpi (const char *string2 1,const char *string2 2);

int stricmp (const char *string2 1,const char *string2 2);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27455559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档