_strspnp、_wcsspnp、_mbsspnp、_mbsspnp_l

返回指向在不在另一个特定字符串的特定字符串的第一个字符。

重要

_mbsspnp 和 _mbsspnp_l 不能在运行时的窗口执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW

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
);

参数

  • str
    搜索的 null 终止的字符串。

  • charset
    null 终止的字符集。

  • locale
    使用的区域设置。

返回值

_strspnp、_wcsspnp和 _mbsspnp 返回指向不属于将 charset的字符。str 的第一个字符*。如果 str 完全由从 charset,的字符这些函数都返回一个 NULL。*对于其中每个实例,没有任何返回值保留指示错误。

备注

_mbsspnp 函数返回指向是 str 的第一个字符不属于将 charset字符的多字节字符。 _mbsspnp 根据当前正在使用的 多字节代码页 识别多字节字符序列。 搜索不包括终止 null 字符。

如果 str 或 charset 是 null 指针,此函数调用的参数无效处理程序,如 参数验证所述。 如果执行允许继续,该函数返回 NULL 并将 errno 到 EINVAL。

一般文本例程映射

Tchar.h 实例

未定义的_UNICODE 和_MBCS

定义的_MBCS

定义的_UNICODE

_tcsspnp

_strspnp

_mbsspnp

_wcsspnp

_strspnp 和 _wcsspnp 是单字节 _mbsspnp的字符和宽字符版本。 _strspnp 和 _wcsspnp 否则方法的行为与 _mbsspnp ;它们用于此仅提供映射不应为任何其他原因导致使用。 有关更多信息,请参见 使用一般文本映射一般文本映射

_mbsspnp_l与相同,但它使用的区域设置参数。 有关更多信息,请参见区域设置

要求

实例

必需的标头

_mbsspnp

<mbstring.h>

_strspnp

<tchar.h>

_wcsspnp

<tchar.h>

有关更多兼容性信息,请参见中介绍的 兼容性

示例

// 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

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例

请参见

参考

字符串操作(crt)

区域设置

多字节字符序列的说明

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