共用方式為


_strspnp、_wcsspnp、_mbsspnp、_mbsspnp_l

將指標傳回至指定字串的第一個字元

重要

_mbsspnp and _mbsspnp_l不能用於在 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 /ZW 不支援 CRT 函式

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 並設置 errno 為 EINVAL 。

一般文字常式對應

Tchar.h 常式

未定義 _UNICODE and _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