The strncmp function is a string comparison function. Its function syntax is "int strncmp (const char * str1, const char * str2, size_t n);". Its function is to compare str1 and str2.
The strncmp function is a string comparison function. The comparison of string sizes is determined by the order on the ASCII code table, and this order is also the value of the characters. Its function declaration is int strncmp (const char * str1, const char * str2, size_t n); the function is to compare str1 and str2, up to the first n bytes. If the first n characters of str1 and str2 are the same, then Returns 0; if s1 is greater than s2, returns a value greater than 0; if s1 is less than s2, returns a value less than 0.
strncmp syntax
Function declaration
int strncmp(const char *str1, const char *str2, size_t n)
Parameters
str1--The first string to be compared.
str2-- The second string to be compared.
n--The maximum number of characters to compare.
Return value
The return value of this function is as follows:
If the return value is < 0, it means str1 is less than str2.
If the return value is > 0, it means str2 is less than str1.
If the return value = 0, it means str1 is equal to str2.
Function comparison
The function strncmp is very similar to the function strcmp, but the functions are not exactly the same. The differences are as follows:
(1) The strncmp function
is used Compare the first n characters of s1 and s2 strings. If the two strings are equal, strncmp will return 0. If s1 is a substring of s2, s1 is less than s2.
(2) strcmp function
is also used to compare two strings. Let the two strings be str1, str2
If str1==str2, return Zero;
If str1 > str2, a positive number is returned;
If str1 < str2, a negative number is returned.
That is: compare the two strings character by character from left to right (compare according to ASCII value) until different characters appear or "\0" is encountered. [3]
(3) Summary
The difference between the two is that the strncmp function specifies to compare size characters, and the strcmp function compares the entire character until different characters appear or "\ 0".
Application Example
Example 1
#include <cstring> #include <cstdio> int main(){ char *buf1="aaabbb",*buf2="bbbccc",*buf3="ccc"; int ptr; ptr=strncmp(buf2,buf1,3); if(ptr>0) printf("buffer2 is greater than buffer1\n"); else if(ptr<0) printf("buffer2 is less than buffer1\n"); ptr=strncmp(buf2,buf3,3); if(ptr>0) printf("buffer2 is greater than buffer3\n"); else if(ptr<0) printf("buffer2 is less than buffer3\n"); return 0; }
ouput:
buffer2 is greater than buffer1 buffer2 is less than buffer3
Example 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... foundR2D2 foundR2A6
Extension-strncmp in PHP
Function name: strncmp ()
Function: Compare the first N characters of a string
Usage:
int strncmp(stringstr1,charstr2,intlen);
Description: Compare the sizes of strings str1 and str2. If str1 is less than str2, the return value is <0. Otherwise, if str1 is greater than str2, the return value is >0. If str1 is equal to str2, the return value is = 0, len refers to the number of characters compared between str1 and str2. The function of this function is to compare the first len characters of string str1 and str2. [5]
Tip: This function is case-sensitive.
Example:
<?php $str1="Ilikephp!"; $str2="ianfine!"; echo strncmp($str1,$str2,2); ?>
The result is: -1
For more related knowledge, please visit PHP Chinese website!
The above is the detailed content of Detailed explanation of strncmp function usage. For more information, please follow other related articles on the PHP Chinese website!