Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
int_mbsnbcmp(constunsignedchar*string1,constunsignedcharstring2**,size_tcount);**
| Routine | Required Header | Compatibility |
| _mbsnbcmp | <mbstring.h> | Win 95, Win NT |
For additional compatibility information, see Compatibility in the Introduction.
Libraries
| LIBC.LIB | Single thread static library, retail version |
| LIBCMT.LIB | Multithread static library, retail version |
| MSVCRT.LIB | Import library for MSVCRT.DLL, retail version |
Return Value
The return value indicates the relation of the substrings of string1 and string.
| Return Value | Description |
| < 0 | string1 substring less than string2 substring |
| 0 | string1 substring identical to string2 substring |
| > 0 | string1 substring greater than string2 substring |
On an error, _mbsnbcmp returns _NLSCMPERROR, which is defined in STRING.H and MBSTRING.H.
Parameters
string1, string2
Strings to compare
count
Number of bytes to compare
Remarks
The _mbsnbcmp function lexicographically compares, at most, the first count bytes in string1 and string2 and returns a value indicating the relationship between the substrings. _mbsnbcmp is a case-sensitive version of _mbsnbicmp. Unlike strcoll, _mbsnbcmp is not affected by locale. _mbsnbcmp recognizes multibyte-character sequences according to the current multibyte code page.
_mbsnbcmp is similar to _mbsncmp, except that _mbsnbcmp compares strings by characters rather than by bytes.
Generic-Text Routine Mappings
| TCHAR.H Routine | _UNICODE & _MBCS Not Defined | _MBCS Defined | _UNICODE Defined |
| _tcsncmp | strncmp | _mbsnbcmp | wcsncmp |
Example
/* STRNBCMP.C */
#include <mbstring.h>
#include <stdio.h>
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown fox jumps over the lazy dog";
void main( void )
{
char tmp[20];
int result;
printf( "Compare strings:\n\t\t%s\n\t\t%s\n\n", string1, string2 );
printf( "Function:\t_mbsnbcmp (first 10 characters only)\n" );
result = _mbsncmp( string1, string2 , 10 );
if( result > 0 )
_mbscpy( tmp, "greater than" );
else if( result < 0 )
_mbscpy( tmp, "less than" );
else
_mbscpy( tmp, "equal to" );
printf( "Result:\t\tString 1 is %s string 2\n\n", tmp );
printf( "Function:\t_mbsnicmp _mbsnicmp (first 10 characters only)\n" );
result = _mbsnicmp( string1, string2, 10 );
if( result > 0 )
_mbscpy( tmp, "greater than" );
else if( result < 0 )
_mbscpy( tmp, "less than" );
else
_mbscpy( tmp, "equal to" );
printf( "Result:\t\tString 1 is %s string 2\n\n", tmp );
}
Output
Compare strings:
The quick brown dog jumps over the lazy fox
The QUICK brown fox jumps over the lazy dog
Function: _mbsnbcmp (first 10 characters only)
Result: String 1 is greater than string 2
Function: _mbsnicmp (first 10 characters only)
Result: String 1 is equal to string 2
See Also _mbsnbcat, _mbsnbicmp, strncmp, _strnicmp