strpbrk
, wcspbrk
, , _mbspbrk
, _mbspbrk_l
Examina cadenas para buscar caracteres de juegos de caracteres especificados.
Importante
_mbspbrk
y _mbspbrk_l
no se pueden usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.
Sintaxis
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
Parámetros
str
Cadena terminada en NULL en la que se ha buscado.
strCharSet
Juego de caracteres terminado en NULL.
locale
Configuración regional que se va a usar.
Valor devuelto
Devuelve un puntero a la primera aparición de cualquier carácter de strCharSet
que esté en str
, o un puntero NULL
si los dos argumentos de cadena no tienen ningún carácter en común.
Comentarios
La función strpbrk
devuelve un puntero a la primera aparición de un carácter de str
que pertenece al conjunto de caracteres de strCharSet
. La búsqueda no incluye el carácter NULO de terminación.
wcspbrk
y _mbspbrk
son versiones de caracteres anchos y multibyte de strpbrk
. Los argumentos y el valor devuelto de son cadenas de wcspbrk
caracteres anchos. Los argumentos y el valor devuelto de son cadenas de _mbspbrk
caracteres multibyte.
_mbspbrk
valida sus parámetros. Si str
o strCharSet
es NULL
, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, _mbspbrk
devuelve NULL
y establece errno
en EINVAL
. strpbrk
y wcspbrk
no validen sus parámetros. Estas tres funciones se comportan exactamente igual.
_mbspbrk
es similar a _mbscspn
excepto que _mbspbrk
devuelve un puntero en lugar de un valor de tipo size_t
.
En C, estas funciones toman un puntero const
como primer argumento. En C++, hay disponibles dos sobrecargas. La sobrecarga que toma un puntero a const
devuelve un puntero a const
; la versión que contiene un puntero a un valor que no es const
devuelve un puntero a un valor que no es const
. La macro _CRT_CONST_CORRECT_OVERLOADS
se define si están disponibles las versiones const
y no const
de estas funciones. Si necesita un comportamiento que no sea const
para ambas sobrecargas de C++, defina el símbolo _CONST_RETURN
.
El valor de salida se ve afectado por el valor de la categoría LC_CTYPE
de la configuración regional; para más información, consulte setlocale
. Las versiones de estas funciones sin el sufijo _l
usan la configuración regional actual de su comportamiento dependiente de la configuración regional; la versión con el sufijo _l
es idéntica, salvo que usa el parámetro de configuración regional que se pasa. Para obtener más información, vea Locale.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Asignaciones de rutinas de texto genérico
Rutina TCHAR.H | _UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcspbrk |
strpbrk |
_mbspbrk |
wcspbrk |
n/a | n/a | _mbspbrk_l |
n/a |
Requisitos
Routine | Encabezado necesario |
---|---|
strpbrk |
<string.h> |
wcspbrk |
<string.h> o <wchar.h> |
_mbspbrk , _mbspbrk_l |
<mbstring.h> |
Para obtener más información sobre la compatibilidad, vea Compatibilidad.
Ejemplo
// 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 );
}
1: The 3 men and 2 boys ate 5 pigs
2: 3 men and 2 boys ate 5 pigs
3: 2 boys ate 5 pigs
4: 5 pigs
Vea también
Manipulación de cadenas
Configuración regional
Interpretación de secuencias de caracteres de varios bytes
strcspn
, wcscspn
, , _mbscspn
, _mbscspn_l
strchr
, wcschr
, , _mbschr
, _mbschr_l
strrchr
, wcsrchr
, , _mbsrchr
, _mbsrchr_l