Detailed explanation of strncmp function usage

藏色散人
Release: 2020-07-07 11:46:12
Original
6270 people have browsed it

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.

Detailed explanation of strncmp function usage

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)
Copy after login

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;
}
Copy after login

ouput:

buffer2 is greater than buffer1
buffer2 is less than buffer3
Copy after login

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;
}
Copy after login

ouput:

Looking for R2 as tromechdroids...
foundR2D2
foundR2A6
Copy after login

Extension-strncmp in PHP

Function name: strncmp ()

Function: Compare the first N characters of a string

Usage:

int strncmp(stringstr1,charstr2,intlen);
Copy after login

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);
?>
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template