VC++⽐较两个字符串是否相等,字母⼤⼩写相关。
1、strcmp
这是⽤于ANSI标准字符串的函数(如string和char *),此函数接受两个字符串缓冲区做为参数,如果两个字符串是相同的则返回零。否则若第⼀个传⼊的字符串的值⼤于第⼆个字符串返回值将会⼤于零,若传⼊的第⼀个字符串的值⼩于第⼆个字符串返回值将⼩于零。
char *ch="翔翔糖糖";
if(strcmp(ch,"翔翔糖糖")==0)
{
//字符串相等
}
else
{
//字符串不相等
}
2、wcscmp
这个函数是strcmp所对应的Unicode系列的函数,它的使⽤⽅法和strcmp相同,它⽤来⽐较两个Unicode字符串是否相等(如wstring和wchar_t *)。
wchar_t *ch=L"翔翔糖糖";
if(wcscmp(ch,L"翔翔糖糖")==0)
{
//字符串相等
}
else
{
//字符串不相等
}
3、 strncmp
#include    <string.h>
int strncmp(const char * s1, const char * s2, size_t len)
{
while(len--) {
if(*s1 == 0 || *s1 != *s2)
return *s1 - *s2;
s1++;
s2++;
}
return 0;
}
注:以上所介绍的⽐较字符串是否相等的函数对于英⽂来说是要区分⼤⼩写的,即使字母都相同但是⼤⼩写不同,函数也会认为这两个字符串是不同的。要了解不区分⼤⼩写的字符串⽐较函数请看下⾯:
4、stricmp
这是⽤于ANSI标准字符串的函数(如string和char *),此函数接受两个字符串缓冲区做为参数,如果两个字符串是相同的则返回零,不区分⼤⼩写。否则若第⼀个传⼊的字符串的值⼤于第⼆个字符串返回值将会⼤于零,若传⼊的第⼀个字符串的值⼩于第⼆个字符串返回值将⼩于零。
char *ch="AbcD";
if(stricmp(ch,"aBCd")==0)
{
/
/字符串相等
}
else
{
//字符串不相等
}
strcmp可以比较单个字符吗5、wcsicmp
这个函数是stricmp所对应的Unicode系列的函数,它的使⽤⽅法和stricmp相同,它⽤来⽐较两个Unicode字符串是否相等,不区分⼤⼩写(如wstring和wchar_t *)。
wchar_t *ch=L"AbcD";
if(wcsicmp(ch,L"aBCd")==0)
{
//字符串相等
}
else
{
//字符串不相等
}
6、strnicmp (⾮标准C函数)
#include <string.h>
#include <ctype.h>
int strnicmp(const char * s1, const char * s2, size_t len)
{
register signed char r;
while(len--) {
if((r = toupper(*s1) - toupper(*s2)) || *s1 == 0)
return r;
s1++;
s2++;
}
return 0;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。