_strspnp、_wcsspnp、_mbsspnp、_mbsspnp_l
將指標傳回至不在另一個指定字串的指定字串的第一個字元。
重要事項 |
---|
_mbsspnp 和 _mbsspnp_l 不能用於 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 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> |
如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility) 。
範例
// 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。如需更多的資訊,請參閱 Platform Invoke Examples 。
請參閱
參考
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