Bayt sınıflandırması
Bu yordamların her biri, bir koşulun memnuniyeti için çok baytlı bir karakterin belirtilen baytını test eder. Aksi belirtilmedikçe, çı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.
Not
Tanım gereği, 0 ile 127 arasındaki ASCII karakterleri, tüm çok baytlı karakter kümelerinin bir alt kümesidir. Örneğin, Japonca katakana karakter kümesi hem ASCII hem de ASCII olmayan karakterler içerir.
Aşağıdaki tablodaki önceden tanımlanmış sabitler içinde <ctype.h>
tanımlanır.
Çok baytlı bayt bayt sınıflandırma yordamları
Yordam | Bayt Testi Koşulu |
---|---|
isleadbyte , _isleadbyte_l |
Müşteri adayı bayt; test sonucu geçerli LC_CTYPE yerel ayarın kategori ayarına bağlıdır |
_ismbbalnum , _ismbbalnum_l |
isalnum || _ismbbkalnum |
_ismbbalpha , _ismbbalpha_l |
isalpha || _ismbbkalpha |
_ismbbgraph , _ismbbgraph_l |
ile _ismbbprint aynıdır, ancak _ismbbgraph boşluk karakterini (0x20) içermez |
_ismbbkalnum , _ismbbkalnum_l |
Noktalama işaretleri dışında ASCII olmayan metin simgesi. Örneğin, yalnızca _ismbbkalnum kod sayfası 932'de katakana alfasayısal testleri |
_ismbbkana , _ismbbkana_l |
Katakana (0xA1 - 0xDF), yalnızca kod sayfası 932 |
_ismbbkprint , _ismbbkprint_l |
ASCII olmayan metin veya ASCII olmayan noktalama işaretleri simgesi. Örneğin, yalnızca _ismbbkprint kod sayfası 932'de katakana alfasayısal veya katakana noktalama işaretlerini (aralık: 0xA1 - 0xDF) test edin. |
_ismbbkpunct , _ismbbkpunct_l |
ASCII olmayan noktalama işaretleri. Örneğin, yalnızca _ismbbkpunct kod sayfası 932'de katakana noktalama işaretlerini sınar. |
_ismbblead , _ismbblead_l |
Çok baytlı karakterin ilk bayt değeri. Örneğin, yalnızca 932 kod sayfasında geçerli aralıklar 0x81 - 0x9F, 0xE0 - 0xFC. |
_ismbbprint , _ismbbprint_l |
isprint || _ismbbkprint . ismbbprint boşluk karakterini (0x20) içerir |
_ismbbpunct , _ismbbpunct_l |
ispunct || _ismbbkpunct |
_ismbbtrail , _ismbbtrail_l |
Çok baytlı karakterin ikinci bayt değeri. Örneğin, yalnızca 932 kod sayfasında geçerli aralıklar 0x40 - 0x7E, 0x80 - 0xEC. |
_ismbslead , _ismbslead_l |
Müşteri adayı bayt (dize bağlamında) |
ismbstrail , _ismbstrail_l |
İz bayt (dize bağlamında) |
_mbbtype , _mbbtype_l |
Önceki bayt temelinde bayt türü döndürme |
_mbsbtype , _mbsbtype_l |
Dize içindeki bayt türünü döndürme |
mbsinit |
Çok baytlı bir karakter dönüştürme durumunu izler. |
MB_LEN_MAX
içinde <limits.h>
tanımlanan makro, herhangi bir çok baytlı karakterin sahip olabileceği bayt cinsinden uzunluk üst sınırına genişletir. MB_CUR_MAX
içinde tanımlanan <stdlib.h>
, geçerli yerel ayardaki herhangi bir çok baytlı karakterin bayt cinsinden uzunluk üst sınırına genişletir.