码迷,mamicode.com
首页 > 编程语言 > 详细

VC++ 比较两个字符串是否相等,字母大小写相关。

时间:2014-07-22 22:32:16      阅读:2053      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   strong   re   

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
{
    //字符串不相等
}

 

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;
}

  

VC++ 比较两个字符串是否相等,字母大小写相关。,布布扣,bubuko.com

VC++ 比较两个字符串是否相等,字母大小写相关。

标签:style   blog   color   使用   strong   re   

原文地址:http://www.cnblogs.com/kissfu/p/3861022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!