C++官网参考链接:https://cplusplus.com/reference/cwchar/wmemcmp/
函数
wmemcmp
int wmemcmp (const wchar_t* ptr1, const wchar_t* ptr2, size_t num);
比较两个宽字符块
将ptr1指向的内存块的第一个num个宽字符与ptr2指向的第一个num个宽字符进行比较,如果它们都匹配则返回0,如果不匹配则返回一个不同于0的值,表示哪个值更大。
注意,与wcscmp不同的是,该函数在找到空宽字符后不会停止比较。
这是memcmp(
形参
ptr1
指向wchar_t类型元素块的指针。
ptr2
指向wchar_t类型元素块的指针。
num
要比较的类型为wchar_t的元素数量。
返回值
返回一个整数值,表示块内容之间的关系:
0值表示两个内存块的内容相等。
大于0的值表示在两个内存块中不匹配的第一个宽字符在ptr1中的值大于ptr2中的值;而小于0的值则表示相反的情况。
用例
/* wmemcmp example */
#include
int main ()
{
int a,b;
wchar_t wcs1[20] = L"content by default.";
wchar_t wcs2[20] = L"-------------------";
wcscpy ( wcs1, L"test string" );
wcscpy ( wcs2, L"test string" );
a = wcsncmp ( wcs1, wcs2, 20 ); /* compares 12 characters (until L'\0') */
b = wmemcmp ( wcs1, wcs2, 20 ); /* compares 20 characters */
wprintf (L"wcsncmp comparison: %ls\n",a?L"not equal":L"equal");
wprintf (L"wmemcmp comparison: %ls\n",b?L"not equal":L"equal");
return 0;
}
输出:
