C语言中的strncmp

  • A+
所属分类:Linux
摘要

strncmp

strncmp

  函数名: strncmp  功 能: 串比较  用 法: int strncmp(char *str1, char *str2, int maxlen);  说明:此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。  程序例:  #include <string.h>  #include <stdio.h>  int main(void)  {  char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";  int ptr;  ptr = strncmp(buf2,buf1,3);  if (ptr > 0)  printf("buffer 2 is greater than buffer 1\n");  else if(ptr<0)  printf("buffer 2 is less than buffer 1\n");  ptr = strncmp(buf2,buf3,3);  if (ptr > 0)  printf("buffer 2 is greater than buffer 3\n");  else if(ptr<0)  printf("buffer 2 is less than buffer 3\n");  return(0);  } -----打印结果为buffer 2 is greater than buffer 1buffer 2 is less than buffer 3 注意该函数判断 buffer 2和buffer 1大小的是根据子串aaa和bbb的Asc值的大小,而不是其长度。注意该函数判断 buffer 3和buffer 2大小的是根据子bbb和ccc的Asc值的大小,而不是其长度。所以会出现buffer 3 > buffer2 另外,C里面非零的数值都为true.

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
lichongyang

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: