strpbrk, wcspbrk, _mbspbrk, _mbspbrk_l

Memindai string untuk karakter dalam kumpulan karakter yang ditentukan.

Penting

_mbspbrk dan _mbspbrk_l tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.

Sintaks

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

Parameter

str
String null-dihentikan dan dicari.

strCharSet
Set karakter yang dihentikan null.

locale
Lokal untuk digunakan.

Nilai hasil

Mengembalikan penunjuk ke kemunculan pertama karakter apa pun dari strCharSet dalam str, atau NULL penunjuk jika dua argumen string tidak memiliki karakter yang sama.

Keterangan

Fungsi mengembalikan strpbrk penunjuk ke kemunculan pertama karakter yang termasuk dalam str kumpulan karakter di strCharSet. Pencarian tidak menyertakan karakter null yang dihentikan.

wcspbrk dan _mbspbrk adalah versi karakter lebar dan multibyte-character dari strpbrk. Argumen dan nilai yang dikembalikan adalah wcspbrk string karakter lebar. Argumen dan nilai yang dikembalikan adalah _mbspbrk string multibyte-character.

_mbspbrk memvalidasi parameternya. Jika str atau strCharSet , NULLhandler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, _mbspbrk mengembalikan NULL dan mengatur errno ke EINVAL. strpbrk dan wcspbrk tidak memvalidasi parameternya. Ketiga fungsi ini berulah secara identik jika tidak.

_mbspbrk mirip _mbscspn dengan kecuali yang _mbspbrk mengembalikan pointer daripada nilai jenis size_t.

Di C, fungsi-fungsi ini mengambil const penunjuk untuk argumen pertama. Di C++, tersedia dua kelebihan beban. Kelebihan beban yang mengambil pointer untuk const mengembalikan pointer ke const; versi yang mengambil pointer ke non-const mengembalikan pointer ke non-const. Makro _CRT_CONST_CORRECT_OVERLOADS didefinisikan jika const dan non-versiconst fungsi ini tersedia. Jika Anda memerlukan perilaku non-untukconst kedua kelebihan beban C++, tentukan simbol _CONST_RETURN.

Nilai output dipengaruhi oleh pengaturan LC_CTYPE kategori lokal; untuk informasi selengkapnya, lihat setlocale. Versi fungsi-fungsi ini tanpa _l akhiran menggunakan lokal saat ini untuk perilaku tergantung lokal ini; versi dengan _l akhiran identik kecuali menggunakan parameter lokal yang diteruskan sebagai gantinya. Untuk informasi selengkapnya, lihat Lokal.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Pemetaan rutin teks generik

TCHAR. Rutinitas H _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tcspbrk strpbrk _mbspbrk wcspbrk
n/a n/a _mbspbrk_l n/a

Persyaratan

Rutin Header yang diperlukan
strpbrk <string.h>
wcspbrk <string.h> atau <wchar.h>
_mbspbrk, _mbspbrk_l <mbstring.h>

Untuk informasi selengkapnya tentang kompatibilitas, lihat Kompatibilitas.

Contoh

// 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

Baca juga

Manipulasi string
Lokal
Interpretasi urutan karakter multibyte
strcspn, wcscspn, _mbscspn, _mbscspn_l
strchr, wcschr, _mbschr, _mbschr_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l