函数
<cwchar>

wcsncmp

int wcsncmp (const wchar_t* wcs1, const wchar_t* wcs2, size_t num);
比较两个宽字符串的字符
此函数比较C宽字符串wcs1wcs2的前num个字符。

此函数从比较每个宽字符串的第一个字符开始。如果它们相等,则继续比较后续的字符对,直到字符不同、遇到终止的空宽字符,或者直到两个字符串中num个字符匹配为止,以先发生的为准。

这是strncmp<cstring>)的宽字符对应函数。

参数

wcs1
要比较的 C 宽字符串。
wcs2
要比较的 C 宽字符串。
num
要比较的最大字符数。
size_t 是一个无符号整数类型。

返回值

返回一个表示宽字符串之间关系的整数值
零值表示两个字符串中已比较的字符构成了相同的字符串。
大于零的值表示第一个不匹配的字符在wcs1中的值大于在wcs2中的值;小于零的值表示相反的情况。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* wcsncmp example */
#include <stdio.h>
#include <string.h>

int main ()
{
  wchar_t wcs[][5] = { L"R2D2" , L"C3PO" , L"R2A6" };
  int n;
  wprintf (L"Looking for R2 astromech droids...\n");
  for (n=0 ; n<3 ; n++)
    if (wcsncmp (wcs[n],L"R2xx",2) == 0)
    {
      wprintf (L"found %ls\n",wcs[n]);
    }
  return 0;
}

输出

Looking for R2 astromech droids...
found R2D2
found R2A6


另见