网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

字符串和内存数据比较函数

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

strcmp(比较字符串) 

  1. int strcmp( const char *s1, const char *s2 ); 

strcmp()用来比较参数s1和s2字符串。字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1第一个字符值减去s2第一个字符值,若差值为0则再继续比较下个字符,若差值不为0则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。 若参数s1和s2字符串相同则返回0。s1若大于s2则返回大于0的值。s1若小于s2则返回小于0 的值。

strcoll(采用目前区域的字符排列次序来比较字符串) 

  1. int strcoll( const char *s1, const char *s2 ); 

strcoll()会依环境变量LC_COLLATE所指定的字符排列次序来比较s1和s2 字符串。若参数s1和s2字符串相同则返回0,s1若大于s2则返回大于0的值,s1若小于s2则返回小于0 的值。若LC_COLLATE为"POSIX"或"C",则strcoll()与strcmp()作用完全相同。

strcasecmp(忽略大小写比较字符串) 

  1. int strcasecmp ( const char *s1, const char *s2 ); 

strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。若参数s1和s2字符串相同则返回0,s1长度大于s2长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0的值。

strncasecmp(忽略大小写比较字符串) 

  1. int strncasecmp( const char *s1, const char *s2, size_t n ); 

strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。若参数s1和s2 字符串相同则返回0。s1 若大于s2则返回大于0的值,s1若小于s2则返回小于0 的值。

strcmpi()或stricmp():对两个字符串进行大小写不敏感的比较。
strncmp():对两个字符串的一部分进行大小写敏感的比较。
strnicmp():对两个字符串的一部分进行大小写不敏感的比较。

  1. #include <stdio.h> 
  2. #include <string.h> 
  3.   
  4. int main() 
  5.     char *a="aBcDeF"
  6.     char *b="AbCdEf"
  7.     char *c="aacdef"
  8.     char *d="ABCDEF"
  9.     
  10.     printf("strcmpi(a,b) : %d\n",strcmpi(a,b)); 
  11.     printf("stricmp(a,b) : %d\n",stricmp(a,b)); 
  12.     printf("strcmp(a,d) : %d\n",strcmp(a,d)); 
  13.   
  14.     printf("strncmp(a,b,3) : %d\n",strncmp(a,b,3)); 
  15.     printf("strnicmp(a,b,3) : %d\n",strnicmp(a,b,3)); 
  16.   
  17.     getchar(); 
  18. return 0; 

memcmp(比较内存内容) 

  1. int memcmp( const void *s1, const void *s2, size_t n ); 

memcmp()用来比较s1和s2所指的内存区间前n个字符。字符串大小的比较是以ASCII码表上的顺序来决定。memcmp()首先将s1第一个字符值减去s2第一个字符的值,若差为0则再继续比较下个字符,若差值不为0则将差值返回。例如,字符串"Ac"和"ba"比较则会返回字符'A'(65)和'b'(98)的差值(-33)。若参数s1和s2所指的内存内容都完全相同则返回0值。s1若大于s2则返回大于0的值。s1若小于s2则返回小于0的值。

bcmp(比较内存内容) 

  1. int bcmp ( const void *s1,const void * s2,int n); 

bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。 建议使用memcmp()取代。

  1. #include <stdio.h> 
  2. #include <string.h> 
  3. int main() 
  4.     char *a ="aBcDeF"
  5.     char *b="AbCdEf"
  6.     char *c="aacdef"
  7.     char *d="aBcDeF"
  8.     printf("memcmp(a,b):%d\n",memcmp((void*)a,(void*) b,6)); 
  9.     printf("memcmp(a,c):%d\n",memcmp((void*)a,(void*) c,6)); 
  10.     printf("memcmp(a,d):%d\n",memcmp((void*)a,(void*) d,6)); 
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师