strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l
字符的扫描字符串在指定的字符集。
重要
_mbspbrk 和 _mbspbrk_l 不能在运行时的窗口执行的应用程序。有关更多信息,请参见 CRT 函数不支持与 /ZW。
char *strpbrk(
const char *str,
const char *strCharSet
); // C only
char *strpbrk(
char *str,
const char *strCharSet
); // C++ only
const char *strpbrk(
const char *str,
const char *strCharSet
); // C++ only
wchar_t *wcspbrk(
const wchar_t *str,
const wchar_t *strCharSet
); // C only
wchar_t *wcspbrk(
wchar_t *str,
const wchar_t *strCharSet
); // C++ only
const wchar_t *wcspbrk(
const wchar_t *str,
const wchar_t *strCharSet
); // C++ only
unsigned char *_mbspbrk(
const unsigned char *str,
const unsigned char *strCharSet
); // C only
unsigned char *_mbspbrk(
unsigned char *str,
const unsigned char *strCharSet
); // C++ only
const unsigned char *_mbspbrk(
const unsigned char *str,
const unsigned char *strCharSet
); // C++ only
unsigned char *_mbspbrk_l(
const unsigned char *str,
const unsigned char *strCharSet,
_locale_t locale
); // C only
unsigned char *_mbspbrk_l(
unsigned char *str,
const unsigned char *strCharSet,
_locale_t locale
); // C++ only
const unsigned char *_mbspbrk_l(
const unsigned char *str,
const unsigned char* strCharSet,
_locale_t locale
); // C++ only
参数
str
null 终止的,要搜索的字符串。strCharSet
null 终止的字符集。locale
使用的区域设置。
返回值
例如,如果两个字符串实参没有字符共同的,返回指向所有字符第一个匹配项从 strCharSet 中 str或 NULL 指针。
备注
strpbrk 函数返回指向的指针属于将 strCharSet的字符一个字符的第一个匹配项 str 的。 搜索不包括终止 null 字符)。
wcspbrk 和 _mbspbrk 是 strpbrk的宽字符和多字节字符版本。 参数和返回 wcspbrk 的值是宽字符字符串;这些 _mbspbrk 的多字节字符字符串。
_mbspbrk 验证其参数。 如果 str 或 strCharSet 是 NULL,无效参数调用处理程序,如 参数验证所述。 如果执行允许继续,_mbspbrk 返回 NULL 并将 errno 到 EINVAL。 strpbrk 和 wcspbrk 不验证方法的参数。 这三个功能否则具有相同的行为。
_mbspbrk 类似于 _mbscspn,但 _mbspbrk 返回指针而不是类型 size_t的值。
在 C 中,这些函数采用第一个参数的一 const 指针。 在 C++ 中,两个超加载可用。 采用指针的超加载到 const 返回指向 const;采用指向非const 的版本返回指向非const。 如果 const 和这些功能的非const 的版本,宏_CONST_CORRECT_OVERLOADS 定义。 如果对它们 C++ 超加载需要非const 行为,请定义符号_CONST_RETURN。
输出值受设置 LC_CTYPE 类设置的影响区域设置;有关更多信息,请参见 setlocale。 这些功能的版本不 _l 后缀为该区域设置相关的行为使用当前区域设置;与 _l 后缀的版本相同,只不过它使用的区域设置参数。 有关更多信息,请参见区域设置。
一般文本例程映射
TCHAR.H 实例 |
未定义的_UNICODE & _MBCS |
定义的_MBCS |
定义的_UNICODE |
---|---|---|---|
_tcspbrk |
strpbrk |
_mbspbrk |
wcspbrk |
无 |
无 |
_mbspbrk_l |
无 |
要求
实例 |
必需的标头 |
---|---|
strpbrk |
<string.h> |
wcspbrk |
<string.h> 或 <wchar.h> |
_mbspbrk, _mbspbrk_l |
<mbstring.h> |
有关兼容性的更多信息,请参见 兼容性。
示例
// crt_strpbrk.c
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[100] = "The 3 men and 2 boys ate 5 pigs\n";
char *result = NULL;
// Return pointer to first digit in "string".
printf( "1: %s\n", string );
result = strpbrk( string, "0123456789" );
printf( "2: %s\n", result++ );
result = strpbrk( result, "0123456789" );
printf( "3: %s\n", result++ );
result = strpbrk( result, "0123456789" );
printf( "4: %s\n", result );
}
.NET Framework 等效项
请参见
参考
strcspn, wcscspn, _mbscspn, _mbscspn_l