strncmp函式為字元串比較函式,字元串大小的比較是以ASCII 碼錶上的順序來決定,此順序亦為字元的值。其函式聲明為int strncmp ( const char * str1, const char * str2, size_t n );功能是把 str1 和 str2 進行比較,最多比較前 n 個位元組,若str1與str2的前n個字元相同,則返回0;若s1大於s2,則返回大於0的值;若s1 小於s2,則返回小於0的值。
基本介紹
- 中文名:strncmp
- 外文名:strncmp
- 作用:比較s1和s2字元串
- 套用:C語言
- 定義:指定比較size個字元
- 輸出:負數、0、正數
strncmp語法
函式聲明
參數
- str1-- 要進行比較的第一個字元串。
- str2-- 要進行比較的第二個字元串。
- n-- 要比較的最大字元數。
返回值
- 如果返回值 < 0,則表示 str1 小於 str2。
- 如果返回值 > 0,則表示 str2 小於 str1。
- 如果返回值 = 0,則表示 str1 等於 str2。
功能比較
套用示例
示例1
#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("buffer2 is greater than buffer1\n");elseif(ptr<0)printf("buffer2 is less than buffer1\n");ptr=strncmp(buf2,buf3,3);if(ptr>0)printf("buffer2 is greater than buffer3\n");elseif(ptr<0)printf("buffer2 is less than buffer3\n");return(0);}
ouput:buffer2 is greater than buffer1buffer2 is less than buffer3
示例 2
/*strncmpexample*/#include<stdio.h>#include<string.h>int main(){char str[][5]={"R2D2","C3PO","R2A6"};int n;puts("Looking for R2 as tromechdroids...");for(n=0;n<3;n++){if(strncmp(str[n],"R2xx",2)==0){printf("found%s\n",str[n]);}}return0;}
ouput:Looking for R2 as tromechdroids...foundR2D2foundR2A6
拓展延伸-PHP中strncmp
int strncmp(stringstr1,charstr2,intlen);
<?php$str1="Ilikephp!";$str2="ianfine!";echo strncmp($str1,$str2,2);?>