_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。如需詳細資訊,請參閱平台叫用範例。
請參閱
參考
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