memcmp,memicmp函数

你说的曾经没有我的故事 提交于 2019-12-08 17:22:45

函数原型:extern int memcmp(void *str1, void *str2, unsigned int n)

参数说明:str1和str2为指定作比较的字符串,比较两个字符串的前n个字节。
       
所在库名:#include <string.h>
 
函数功能:比较字符串str1和str2在内存区域中的的前n个字节是否相同。
 
返回说明:当str1<str12时,返回值<0;当str11=str12时,返回值=0;当str11>str12时,返回值>0。

其它说明:暂时无。

实例:

#include <string.h>
#include 
<stdio.h>

int main()
{
    
char *str1="I'm sky2098,welcome to my website!";
    
char *str2="I'm sky2098,please do not call me sky2098!";
    
int inttemp;
    inttemp
=memcmp(str1,str2,strlen("I'm sky2098,"));   //比较str1和str2在内存区中前strlen("I'm sky2098,")个字节是否相等
    if(inttemp==0)
   
{
      printf(
"str1 and str2 has n bytes which are the same as each other!/n");
   }

   
return 0;
}

在VC++ 6.0  编译运行:

尤其注意了,memcmp函数实现的是字节的比较,而不是字符的比较。

 

 

函数原型:extern int memicmp(void *str1, void *str2, unsigned int count)

参数说明:str1和str2为指定作比较的字符串,比较两个字符串的前count个字节,不区分大小写。
       
所在库名:#include <string.h>
 
函数功能:比较字符串str1和str2在内存区域中的的前count个字节是否相同。
 
返回说明:当str1<str12时,返回值<0;当str11=str12时,返回值=0;当str11>str12时,返回值>0。

其它说明:暂时无。

实例:

#include <string.h>
#include 
<stdio.h>

int main()
{
    
char *str1="I'm sky2098,welcome to my website!"//两个字符串含义相同,但是大小写不同
    
char *str2="I'm SKY2098,WELCOME TO MY website!";
    
int inttemp;
    inttemp
=memicmp(str1,str2,strlen("I'm sky2098,welcome to my website!"));   //比较str1和str2在内存区中前strlen("I'm sky2098,welcome to my website!")个字节是否相等
    if(inttemp==0)
   
{
      printf(
"str1 and str2 has n bytes which are the same as each other! ");
   }

   
return 0;
}

 

在VC++ 6.0  编译运行:

memicmp函数在比较的时候是不区分字母大小写的。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!