当前位置: C语言 -- 标准库 -- <string.h> -- strncmp

strncmp函数


概要:
#include <string.h>
int strncmp(const char *s1, const char *s2, size_t n);

描述:

该函数比较参数s1指向数组和参数s2指向数组前n个字符(空字符以后的字符不会被比较。)的大小。

比较时,函数先比较每个数组第一个字符的大小;如果不同,比较结束;如果相同,比较下一个字符,直至出现不同字符或者遇到空字符或者比较完n个字符。


参数:
const char *s1

指向数组的指针。

const char *s2

指向数组的指针。

size_t n

最多比较的字符数。


返回值:

根据参数s1指向数组是大于、等于还是小于参数s2指向数组,函数返回一个大于、等于或者小于0的整数。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
/*函数strncmp范例*/

#include <stdio.h>
#include <string.h>

#define LENGTH 4

int main(void)
{
    const char *name[LENGTH] = {"Geng bijun","Zhang san","Li si","Geng feng"};

    /*找出所有姓Geng的人。*/
    for(int i=0; i<LENGTH; ++i)
    {
        if(strncmp(name[i], "Geng", 4) == 0)
            puts(name[i]);
    }
    
    return 0;
}


输出:

Geng bijun

Geng feng


相关内容:
memcmp 比较内存区域字符序列的函数。
strcmp 比较字符串的函数。
strcoll 比较字符串的函数。
strxfrm 转换字符串的函数。