欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在 c 语言中进行字符串比较 - 使用 strnicmp - 比较字符串的前 n 个字符(区分大小写)

最编程 2024-07-07 10:39:36
...

原型为:

int strnicmp ( const char * str1, const char * str2, size_t n );
登录后复制

【参数】str1, str2 为需要比较的两个字符串,n为要比较的字符的数目。

【返回值】若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 若小于s2,则返回小于0的值。

与strncmp()不同的是,如果两个字符不同,GCC和VC都返回-1或1,而不是返回对应的ASCII的差值。

有关strnicmp()的其他说明请查看strncmp(),这里仅举例演示,不再赘述。

另外一个不区分大小写比较字符串前n个字符的函数是strncmpi(),strncmpi()是strnicmp()的宏定义,实际未提供此函数。

示例:对6组字符串进行比较。

#include<stdio.h>
#include<string.h>
int main(void){
    char* s1 = "http://see.xidian.edu.cn/cpp/u/xitong/";
    char* s2 = "HTTP://see.xidian.edu.cn/cpp/u/xitong/";
    char* s3 = "abc";
    char* s4 = "abcxyz";
    char* s5 = "123456";
    char* s6 = "123";
    printf("s1-s2=%d\n", strnicmp(s1, s2, 20));  // 是否区分大小写
    printf("s3-s4=%d\n", strnicmp(s3, s4, 100));  // s3的长度小于s4
    printf("s5-s6=%d\n", strnicmp(s5, s6, 100));  // s5的长度大于s6
    return 0;
}
登录后复制

VC6.0下运行结果:

s1-s2=0
s3-s4=-1
s5-s6=1
登录后复制
登录后复制

GCC下运行结果:

s1-s2=0
s3-s4=-1
s5-s6=1
登录后复制
登录后复制

相关推荐:《C语言视频教程

以上就是c语言怎么进行字符串比较的详细内容,更多请关注php中文网其它相关文章!

推荐阅读