Format
#include <wcstr.h> int wcsncmp(const wchar_t *string1, const wchar_t *string2, size_t count);
Language Level: XPG4
Threadsafe: Yes.
Description
The wcsncmp() function compares up to count wide characters in string1 to string2.
The wcsncmp() function operates on null-ended wide-character strings; string arguments to this function should contain a wchar_t null character marking the end of the string.
Return Value
The wcsncmp() function returns a value indicating the relationship between the two strings, as follows:
Example that uses wcsncmp()
This example demonstrates the difference between the wcscmp() function, which compares the entire strings, and the wcsncmp() function, which compares only a specified number of wide characters in the strings.
#include <stdio.h> #include <wcstr.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 ); } void print_result( int res, wchar_t * p_buffer1, wchar_t * p_buffer2 ) { if ( res == 0 ) 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 ); } /**************** Output should be similar to: ****************** Comparison of each character wcscmp: "abcdefg" is less than "abcfg" Comparison of only the first 3 characters wcsncmp: "abcdefg" is identical to "abcfg" */
Related Information
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.