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

wcsncmp函数


概要:
#include <wchar.h>
int wcsncmp(const wchar_t *s1, const wchar_t *s2,
      size_t n);

描述:

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

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


参数:
const wchar_t *s1

指向数组的指针。

const wchar_t *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 
22 
23 
/*函数wcsncmp范例*/

#include <locale.h>
#include <wchar.h>

#define LENGTH 4

int main(void)
{
    setlocale(LC_ALL, "");
    
    const wchar_t *wName[LENGTH] = {L"欧阳锋", L"慕容白", L"欧阳克", L"郭靖"};

    /*找出所有姓欧阳的人。*/
    for(int i=0; i<LENGTH; ++i)
    {
        if(wcsncmp(wName[i], L"欧阳", 2) == 0)
        wprintf(L"%ls\n", wName[i]);
    }
    
    return 0;
}


输出:

欧阳锋

欧阳克


相关内容:
wmemcmp 比较内存区域宽字符序列的函数。
wcscmp 比较宽字符串的函数。
wcscoll 比较宽字符串的函数。
wcsxfrm 转换宽字符串的函数。