_strspnp
, _wcsspnp
, _mbsspnp
, _mbsspnp_l
Returns a pointer to the first character in a given string that isn't in another given string.
Important
_mbsspnp
and _mbsspnp_l
cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported in Universal Windows Platform apps.
Syntax
char *_strspnp(
const char *str,
const char *charset
);
wchar_t *_wcsspnp(
const unsigned wchar_t *str,
const unsigned wchar_t *charset
);
unsigned char *_mbsspnp(
const unsigned char *str,
const unsigned char *charset
);
unsigned char *_mbsspnp_l(
const unsigned char *str,
const unsigned char *charset,
_locale_t locale
);
Parameters
str
Null-terminated string to search.
charset
Null-terminated character set.
locale
Locale to use.
Return value
_strspnp
, _wcsspnp
, and _mbsspnp
return a pointer to the first character in str
that doesn't belong to the set of characters in charset
. Each of these functions returns NULL
if str
consists entirely of characters from charset
. For each of these routines, no return value is reserved to indicate an error.
Remarks
The _mbsspnp
function returns a pointer to the multibyte character that is the first character in str
that doesn't belong to the set of characters in charset
. _mbsspnp
recognizes multibyte-character sequences according to the multibyte code page currently in use. The search doesn't include terminating null characters.
If either str
or charset
is a null pointer, this function invokes the invalid parameter handler, as described in Parameter validation. If execution is allowed to continue, the function returns NULL
and sets errno
to EINVAL
.
By default, this function's global state is scoped to the application. To change this behavior, see Global state in the CRT.
Generic-text routine mappings
Tchar.h routine | _UNICODE and _MBCS not defined |
_MBCS defined |
_UNICODE defined |
---|---|---|---|
_tcsspnp |
_strspnp |
_mbsspnp |
_wcsspnp |
_strspnp
and _wcsspnp
are single-byte character and wide-character versions of _mbsspnp
. _strspnp
and _wcsspnp
behave identically to _mbsspnp
otherwise; they're provided only for this mapping and shouldn't be used for any other reason. For more information, see Using generic-text mappings and Generic-text mappings.
_mbsspnp_l
is identical except that it uses the locale parameter passed in instead. For more information, see Locale.
Requirements
Routine | Required header |
---|---|
_mbsspnp |
<mbstring.h> |
_strspnp |
<tchar.h> |
_wcsspnp |
<tchar.h> |
For more compatibility information, see Compatibility.
Example
// crt_mbsspnp.c
#include <mbstring.h>
#include <stdio.h>
int main( void ) {
const unsigned char string1[] = "cabbage";
const unsigned char string2[] = "c";
unsigned char *ptr = 0;
ptr = _mbsspnp( string1, string2 );
printf( "%s\n", ptr);
}
Output
abbage
See also
String manipulation
Locale
Interpretation of multibyte-character sequences
strspn
, wcsspn
, _mbsspn
, _mbsspn_l
strncat_s
, _strncat_s_l
, wcsncat_s
, _wcsncat_s_l
, _mbsncat_s
, _mbsncat_s_l
strncmp
, wcsncmp
, _mbsncmp
, _mbsncmp_l
strncpy_s
, _strncpy_s_l
, wcsncpy_s
, _wcsncpy_s_l
, _mbsncpy_s
, _mbsncpy_s_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, _mbsnicmp_l
strrchr
, wcsrchr
, _mbsrchr
, _mbsrchr_l
Σχόλια
https://aka.ms/ContentUserFeedback.
Σύντομα διαθέσιμα: Καθ' όλη τη διάρκεια του 2024 θα καταργήσουμε σταδιακά τα ζητήματα GitHub ως μηχανισμό ανάδρασης για το περιεχόμενο και θα το αντικαταστήσουμε με ένα νέο σύστημα ανάδρασης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα:Υποβολή και προβολή σχολίων για