strcspn
, wcscspn
, _mbscspn
, _mbscspn_l
Bir karakter kümesine ait bir karakterin dizedeki ilk oluşumunun dizinini döndürür.
Önemli
_mbschr
ve _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 strCharSet
döndürür. içindeki str
karakterlerin hiçbiri içinde strCharSet
değ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 EINVAL
ayarlanı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