中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用strncmp函數

發布時間:2020-07-28 11:55:41 來源:億速云 閱讀:247 作者:Leah 欄目:編程語言

如何使用strncmp函數?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

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

關于如何使用strncmp函數問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

成安县| 大田县| 门头沟区| 炉霍县| 海原县| 临夏县| 大安市| 西安市| 申扎县| 仁布县| 弥渡县| 上高县| 山阴县| 防城港市| 商水县| 和田县| 新郑市| 介休市| 海丰县| 灵寿县| 辉县市| 尉犁县| 南靖县| 丹巴县| 大理市| 禄劝| 石楼县| 巢湖市| 南乐县| 巫溪县| 祁东县| 巴南区| 定陶县| 饶河县| 杨浦区| 门源| 廊坊市| 商洛市| 伊川县| 朝阳区| 荣昌县|