strcspn, wcscspn, _mbscspn, _mbscspn_l
Bir dizedeki karakter kümesine ait bir karakteri ilk geçtiği dizinini döndürür.
Önemli
_mbschrve _mbschr_lWindows çalışma zamanı yürütme uygulamalarda kullanılamaz.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin.
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
Aranan dize NULL sonlandırılmış.strCharSet
NULL sonlandırılmış bir karakter kümesidir.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Bu işlevler ilk karakterinin indeksi dönmek str ise, strCharSet. Karakterler, hiçbiri str olan strCharSet, döndürülen değer uzunluğunu ise str.
Hiçbir değer döndürmeyen bir hatayı göstermek için ayrılmıştır.
Notlar
wcscspnve _mbscspn geniş karakter ve çok baytlı karakter sürümleri strcspn. Bağımsız değişkenleri wcscspn geniş karakter dizesidir; _mbscspn çok baytlı karakter dizeleridir.
_mbscspnparametreleri doğrular. Ya da, str veya strCharSet bir null işaretçi açıklandığı gibi geçersiz bir parametre işleyici çağrılır Parametre doğrulama. Devam etmek için ayarlar ve InitializeSecurityContext işlevi 0 yürütme izni varsa errno için EINVAL. strcspnve wcscspn kendi parametreleri doğrulamaz. Bu üç işlevi aynı şekilde aksi davranır.
Çıkış değeri ayarı tarafından etkilenen LC_CTYPE ; bölgesel ayar kategorisi bkz: setlocale daha fazla bilgi için. Bu işlevler sürümlerini _l soneki kullanan geçerli yerel ayarı için bu yerel ayara bağımlı davranışı; sürümleri ile _l sonek dışında bunun yerine geçirilen yerel ayar parametresi kullandıkları aynı. Daha fazla bilgi için bkz. Yerel ayar.
Genel metin eşlemeleri yordamına girildi
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlanmamış |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tcscspn |
strcspn |
_mbscspn |
wcscspn |
n/a |
n/a |
_mbscspn_l |
n/a |
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
strcspn |
<string.h> |
wcscspn |
<string.h> veya <wchar.h> |
_mbscspn, _mbscspn_l |
<mbstring.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Ö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( "", "" );
}
.NET Framework Eşdeğeri
Ayrıca bkz.
Başvuru
Yorumunu çok baytlı karakter dizileri
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