ctype::is
Ověřuje, zda má určitý atribut nebo klasifikuje atributy jednotlivých znaků v rozsahu a ukládá je v poli jeden znak.
bool is(
mask maskVal,
CharType ch
) const;
const CharType *is(
const CharType* first,
const CharType* last,
mask* dest
) const;
Parametry
maskVal
Hodnota masky, pro které je znak zkoušených.ch
Znak, jehož atributy se zkoušejí.first
Ukazatel myši na první znak v oblasti, jejichž atributy se zařazují.last
Ukazatel na poslední znak v oblasti, jejichž atributy se zařazují bezprostředně následující znak.dest
Ukazatel na začátek pole, kde mají být uloženy hodnoty masky charakterizuje atributy jednotlivých znaků.
Vrácená hodnota
Vrátí první členské funkce true znak testován má atribut popsaná hodnota masky; falsePokud je atribut.
Druhý členské funkce vrací ukazatel na poslední znak v oblasti, jejichž atributy se zařazují.
Poznámky
Třídy podle hodnoty masky klasifikaci atributy znaků ctype_base třídy, z ctype, které pochází.První členské funkce můžete přijmout výrazy pro svůj první parametr označuje jako bitmasks a logické operátory bitového tvořená kombinací hodnoty masky (|, & , ^ , ~).
Příklad
// ctype_is.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main() {
locale loc1 ( "German_Germany" ), loc2 ( "English_Australia" );
if (use_facet<ctype<char> > ( loc1 ).is( ctype_base::alpha, 'a' ))
cout << "The character 'a' in locale loc1 is alphabetic."
<< endl;
else
cout << "The character 'a' in locale loc1 is not alphabetic."
<< endl;
if (use_facet<ctype<char> > ( loc2 ).is( ctype_base::alpha, '!' ))
cout << "The character '!' in locale loc2 is alphabetic."
<< endl;
else
cout << "The character '!' in locale loc2 is not alphabetic."
<< endl;
char *string = "Hello, my name is John!";
ctype<char>::mask maskarray[30];
use_facet<ctype<char> > ( loc2 ).is(
string, string + strlen(string), maskarray );
for (unsigned int i = 0; i < strlen(string); i++) {
cout << string[i] << ": "
<< (maskarray[i] & ctype_base::alpha ? "alpha"
: "not alpha")
<< endl;;
};
}
Výsledek
The character 'a' in locale loc1 is alphabetic.
The character '!' in locale loc2 is not alphabetic.
H: alpha
e: alpha
l: alpha
l: alpha
o: alpha
,: not alpha
: not alpha
m: alpha
y: alpha
: not alpha
n: alpha
a: alpha
m: alpha
e: alpha
: not alpha
i: alpha
s: alpha
: not alpha
J: alpha
o: alpha
h: alpha
n: alpha
!: not alpha
Požadavky
Záhlaví: <locale>
Obor názvů: std