Share via


strcspn, wcscspn, _mbscspn, _mbscspn_l

Mengembalikan indeks kemunculan pertama dalam string, dari karakter yang termasuk dalam sekumpulan karakter.

Penting

_mbschr dan _mbschr_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

size_t strcspn(
   const char *str,
   const char *strCharSet
);
size_t wcscspn(
   const wchar_t *str,
   const wchar_t *strCharSet
);
size_t _mbscspn(
   const unsigned char *str,
   const unsigned char *strCharSet
);
size_t _mbscspn_l(
   const unsigned char *str,
   const unsigned char *strCharSet,
   _locale_t locale
);

Parameter

str
String pencarian null-terminated.

strCharSet
Set karakter yang dihentikan null.

locale
Lokal untuk digunakan.

Nilai hasil

Fungsi-fungsi ini mengembalikan indeks karakter pertama dalam str yang ada di strCharSet. Jika tidak ada karakter dalam strstrCharSet, maka nilai yang dikembalikan adalah panjang .str

Tidak ada nilai pengembalian yang dicadangkan untuk menunjukkan kesalahan.

Keterangan

wcscspn dan _mbscspn adalah versi karakter lebar dan multibyte-character dari strcspn. Argumen adalah wcscspn string karakter lebar. Argumen dan nilai yang dikembalikan adalah _mbscspn string multibyte-character.

_mbscspn memvalidasi parameternya. Jika atau strstrCharSet adalah penunjuk null, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi mengembalikan 0 dan diatur errno ke EINVAL. strcspn dan wcscspn tidak memvalidasi parameternya. Ketiga fungsi ini berulah secara identik jika tidak.

Nilai output dipengaruhi oleh pengaturan LC_CTYPE pengaturan 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 bahwa mereka 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
_tcscspn strcspn _mbscspn wcscspn

Persyaratan

Rutin Header yang diperlukan
strcspn <string.h>
wcscspn <string.h> atau <wchar.h>
_mbscspn, _mbscspn_l <mbstring.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

// crt_strcspn.c

#include <string.h>
#include <stdio.h>

void test( const char * str, const char * strCharSet )
{
   int pos = strcspn( str, strCharSet );
   printf( "strcspn( \"%s\", \"%s\" ) = %d\n", str, strCharSet, pos );
}

int main( void )
{
   test( "xyzbxz", "abc" );
   test( "xyzbxz", "xyz" );
   test( "xyzbxz", "no match" );
   test( "xyzbxz", "" );
   test( "", "abc" );
   test( "", "" );
}
strcspn( "xyzbxz", "abc" ) = 3
strcspn( "xyzbxz", "xyz" ) = 0
strcspn( "xyzbxz", "no match" ) = 6
strcspn( "xyzbxz", "" ) = 6
strcspn( "", "abc" ) = 0
strcspn( "", "" ) = 0

Baca juga

Manipulasi string
Lokal
Interpretasi urutan karakter multibyte
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l
strspn, wcsspn, _mbsspn, _mbsspn_l