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

wmemcmp函数


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

描述:

该函数比较参数s1指向对象和参数s2指向对象前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 
24 
25 
26 
27 
28 
29 
30 
/*函数wmemcmp范例*/

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

void compareString(const wchar_t *wStrOne, const wchar_t *wStrTwo, int number)
{
    int value;

    value = wmemcmp(wStrOne, wStrTwo, number);
    if(value>0)
        wprintf(L"%ls大于%ls。\n", wStrOne, wStrTwo);
    else if(value<0)
        wprintf(L"%ls小于%ls。\n", wStrOne, wStrTwo);
    else
        wprintf(L"%ls等于%ls。\n", wStrOne, wStrTwo);
}

int main(void)
{
    setlocale(LC_ALL, "");
    
    const wchar_t strOne[] = L"苏州";
    const wchar_t strTwo[] = L"上海";

    compareString(strOne, strTwo, 2);

    return 0;
}


输出:

苏州大于上海。


相关内容:
wcscmp 比较宽字符串的函数。
wcscoll 比较宽字符串的函数。
wcsncmp 比较宽字符串前n个宽字符的函数。
wcsxfrm 转换宽字符串的函数。