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 con /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
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. En la búsqueda no se incluye el carácter nulo de finalización.
wcspbrk y _mbspbrk son versiones de caracteres anchos y multibyte de strpbrk. Los argumentos y el valor devuelto de wcspbrk son cadenas de caracteres anchos; los de _mbspbrk son cadenas de 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 validan sus parámetros. Estas tres funciones se comportan exactamente igual.
_mbspbrk es igual que _mbscspn, salvo 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 _CONST_CORRECT_OVERLOADS se define si están disponibles tanto las versiones const como 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 obtener más información, vea 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 Configuración regional.
Asignaciones de rutina de texto genérico
Rutina TCHAR.H |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcspbrk |
strpbrk |
_mbspbrk |
wcspbrk |
no disponible |
no disponible |
_mbspbrk_l |
no disponible |
Requisitos
Rutina |
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 );
}
Equivalente en .NET Framework
Vea también
Referencia
Interpretación de secuencias de caracteres de varios bytes
strcspn, wcscspn, _mbscspn, _mbscspn_l