gpt4 book ai didi

C 字符串的比较运算符

转载 作者:太空狗 更新时间:2023-10-29 14:51:00 25 4
gpt4 key购买 nike

我在查找比较 C 字符串的信息时遇到了一些困难。我知道与 C++ 不同,C 不支持运算符重载,所以我想知道是否有任何方法可以检查一个字符串是否大于/小于另一个字符串(例如 str1 > str2)?

提前感谢您的回复。老实说,这是我第一次因为找不到相关帖子而不得不提出问题。

最佳答案

有几种,每种都有不同的用途(现在省略宽字符变体)。

strcmp – 逐个字符地比较两个字符串(使用 C 概念判断哪些字符串相等或不相等——这不需要与人类的思维方式一致——参见 strcoll)。有一个变体只比较前 n 个字符,strncmp

strcasecmp – 比较两个字符串,忽略大小写。有一个只比较前 n 个字符的变体,strncasecmp

strcoll – 比较两个字符串,观察当前设置的语言环境(这就是为什么它被称为整理,在这种情况下不比较)。如果您希望 ssß 对德国观众比较相等,那么这就是您应该使用的。


你可能写的地方

if (string1 > string2) ...

用一种语言,你必须写

if (strmp(string1, string2) > 0) ...

在 C 中。本质上,您将两个操作数都移动到函数调用中,保留比较运算符并改为与 0 进行比较。

关于C 字符串的比较运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8890970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com