ctype::is
測試單一字元是否在陣列具有特定屬性或類別的每個字元屬性在範圍中並儲存它們。
bool is(
mask maskVal,
CharType ch
) const;
const CharType *is(
const CharType* first,
const CharType* last,
mask* dest
) const;
參數
maskVal
字元要測試的遮罩值。ch
屬性要測試的字元。first
對第一個字元的指標會屬性要分類的範圍。last
對字元的指標會在屬性要分類之範圍內的最後一個字元之後。dest
要儲存對遮罩值 Draw 陣列的開頭的指標每個的屬性字元。
傳回值
如果正在測試之字元的遮罩值,描述的屬性第 10% 成員函式會傳回 true ; false ,如果它不能有屬性。
第二 + 成成員函式指標傳回至屬性要分類之範圍內的最後一個字元。
備註
值的字元分類的屬性類別提供遮罩 ctype_base 類別, ctype 衍生。 第 10% 成員函式可以接受從遮罩值組合的位元遮罩和形成其第一個參數的運算式是由邏輯位元運算子 (|, & ,, ^ |)。
範例
// 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;;
};
}
Output
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
需求
標題: <地區設定>
命名空間: std