Syntax
#include <wchar.h> int wcsncmp(const wchar_t *string1, const wchar_t *string2, size_t count);Description
wcsncmp compares up to count wide characters in string1 to string2.
wcsncmp operates on null-terminated wide-character strings; string arguments to this function should contain a wchar_t null character marking the end of the string.
wcsncmp returns a value indicating the relationship between the two strings, as follows: compact break=fit.
Value
This example demonstrates the difference between wcscmp, which compares the entire strings, and wcsncmp, which compares only a specified number of wide characters in the strings.
#include <stdio.h>#include <wchar.h> #define SIZE 10 int main(void) { int result; int index = 3; wchar_t buffer1[SIZE] = L"abcdefg"; wchar_t buffer2[SIZE] = L"abcfg"; void print_result(int, wchar_t *, wchar_t *); result = wcscmp(buffer1, buffer2); printf("Comparison of each character\n"); printf(" wcscmp: "); print_result(result, buffer1, buffer2); result = wcsncmp(buffer1, buffer2, index); printf("\nComparison of only the first %i characters\n", index); printf(" wcsncmp: "); print_result(result, buffer1, buffer2); return 0; /**************************************************************************** The output should be: Comparison of each character wcscmp: "abcdefg" is less than "abcfg" Comparison of only the first 3 characters wcsncmp: "abcdefg" is identical to "abcfg" ****************************************************************************/ } void print_result(int res,wchar_t *p_buffer1,wchar_t *p_buffer2) { if (0 == res) printf("\"%ls\" is identical to \"%ls\"\n", p_buffer1, p_buffer2); else if (res < 0) printf("\"%ls\" is less than \"%ls\"\n", p_buffer1, p_buffer2); else printf("\"%ls\" is greater than \"%ls\"\n", p_buffer1, p_buffer2); }Related Information