다음을 통해 공유


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
    확률과 특성의 각 문자는 마스크 값을 저장할 배열 시작 부분에 대 한 포인터입니다.

반환 값

첫 번째 멤버 함수를 반환 합니다. true 경우 테스트 문자 특성 설명으로 마스크 값입니다. false특성에 실패할 경우.

두 번째 멤버 함수 속성 분류 해야 하는 범위에서 마지막 문자 포인터를 반환 합니다.

설명

문자 특성을 분류 하는 마스크 값 클래스에 의해 제공 됩니다 ctype_base 클래스, 어떤 ctype에서 파생 됩니다.첫 번째 멤버 함수 식 마스크로 참조 및 마스크 값의 조합에서 비트 단위 논리 연산자가 형성의 첫 번째 매개 변수를 받아들일 수 있습니다 (|, & , ^ , ~).

예제

// 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

요구 사항

헤더: <locale>

네임 스페이스: std

참고 항목

참조

ctype Class