Aracılığıyla paylaş


strcspn, wcscspn, _mbscspn, _mbscspn_l

Bir karakter kümesine ait bir karakterin dizedeki ilk oluşumunun dizinini döndürür.

Önemli

_mbschrve _mbschr_l Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.

Sözdizimi

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
);

Parametreler

str
Null olarak sonlandırılan arama dizesi.

strCharSet
Null ile sonlandırılan karakter kümesi.

locale
Kullanılacak yerel ayar.

Dönüş değeri

Bu işlevler içindeki ilk karakterin str dizinini strCharSetdöndürür. içindeki str karakterlerin hiçbiri içinde strCharSetdeğilse, dönüş değeri uzunluğudur str.

Hata belirtmek için hiçbir dönüş değeri ayrılmaz.

Açıklamalar

wcscspn ve _mbscspn geniş karakterli ve çok baytlı sürümleridir strcspn. bağımsız değişkenleri wcscspn geniş karakterli dizelerdir. bağımsız değişkenleri ve dönüş değeri _mbscspn çok baytlı karakter dizeleridir.

_mbscspn parametrelerini doğrular. str Veya strCharSet null işaretçiyse, Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, işlev 0 döndürür ve olarak EINVALayarlanırerrno. strcspn ve wcscspn parametrelerini doğrulamaz. Bu üç işlev aynı şekilde davranır.

Çıkış değeri, yerel ayarın LC_CTYPE kategori ayarının ayarından etkilenir. Daha fazla bilgi için bkz. setlocale. Bu işlevlerin son eki olmayan _l sürümleri, bu yerel ayara bağımlı davranış için geçerli yerel ayarı kullanır; son ekine _l sahip sürümler, bunun yerine geçirilen yerel ayar parametresini kullanmaları dışında aynıdır. Daha fazla bilgi için bkz . Yerel Ayar.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

TCHAR.H yordamı _UNICODE ve _MBCS tanımlanmadı _MBCS Tanımlanan _UNICODE Tanımlanan
_tcscspn strcspn _mbscspn wcscspn

Gereksinimler

Yordam Gerekli başlık
strcspn <string.h>
wcscspn <string.h> veya <wchar.h>
_mbscspn, _mbscspn_l <mbstring.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

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

Ayrıca bkz.

Dize işleme
Yerel ayar
Çok baytlı karakter dizilerinin yorumlanması
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