strncmp函数为字符串比较函数,其函数语法为“int strncmp ( const char * str1, const char * str2, size_t n );”,功能是把str1和str2进行比较。

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语法

函数声明

int strncmp(const char *str1, const char *str2, size_t n)

参数

str1-- 要进行比较的第一个字符串。

str2-- 要进行比较的第二个字符串。

n-- 要比较的最大字符数。

返回值

该函数返回值如下:

如果返回值 < 0,则表示 str1 小于 str2。

如果返回值 > 0,则表示 str2 小于 str1。

如果返回值 = 0,则表示 str1 等于 str2。

功能比较

函数 strncmp 与函数strcmp极为类似,但功能不完全相同,区别如下:

(1)strncmp函数

用来比较s1和s2字符串的前n个字符。如果两个字符串相等的话,strncmp将返回0。如果s1是s2的一个子串的话,s1小于s2。

(2)strcmp函数

同样用于比较两个字符串 ,设这两个字符串为str1,str2

若str1==str2,则返回零;

若str1 > str2,则返回正数;

若str1< str2,则返回负数。

即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇"\0"为止。 [3]

(3)总结

两者不同之处是,strncmp函数是指定比较size个字符,strcmp函数比较整个字符,直到出现不同的字符或遇"\0"为止。

应用示例

示例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

示例 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

拓展延伸-PHP中strncmp

函数名: strncmp ()

功 能:比较字符串的前N个字符

用 法:

int strncmp(stringstr1,charstr2,intlen);

说明:比较字符串str1和str2的大小,如果str1小于str2,返回值就<0,反之如果str1大于str2,返回值就>0,如果str1等于str2,返回值就=0,len指的是str1与str2的比较的字符数。此函数功能即比较字符串str1和str2的前len个字符。 [5]

提示:该函数区分大小写。

示例:

<?php
$str1="Ilikephp!";
$str2="ianfine!";
echo strncmp($str1,$str2,2);
?>

结果为:-1

更多相关知识,请访问PHP中文网!

以上就是strncmp函数用法详解的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:strncmp
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    网页生成APP,用做网站的技术去做APP:立即创建

    手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包

    • 上一篇:C语言中有且唯一的函数是什么函数
    • 下一篇:手把手教你在C语言中如何打印倒三角形

    相关文章

    相关视频


    • PHP中strncmp函数比较两个字符串前2个字符...
    • php在前n个字符的字符串比较(大小写敏感)的函数...
    • c语言strcmp函数用法是什么?
    • strcmp在c语言中是什么意思?
    • strncmp函数用法详解
    • PHP变量的命名

    视频教程分类

    • php视频教程
    • html视频教程
    • css视频教程
    • JS视频教程
    • jQuery视频教程
    • mysql视频教程
    • Linux视频教程
    • Python视频教程
    • Laravel视频教程
    • Vue视频教程

    专题

    strncmp函数用法详解