c character classification
이 튜토리얼에서는 예제를 통해 C ++ 문자 및 변환 함수를 설명합니다. 다루는 몇 가지 중요한 기능은 isdigit, islower, isupper, isalpha 등입니다.
'라이브러리 함수'에 대한 이전 자습서에서 다양한 데이터 유형에서 작동하는 수많은 함수를 제공하는 다양한 헤더를 보았습니다. 헤더는 개별 문자를 분류하고 조작하는 함수 세트를 포함하는 헤더 중 하나입니다.
=> 처음부터 C ++를 배우려면 여기를 방문하십시오.
헤더에 선언 된 함수는 단일 문자 (동등한 정수)를 매개 변수로 사용하고 부울 값 또는 문자 값이 될 수있는 정수 값을 반환합니다. 값 0 (영)은 거짓을 나타내고 0이 아닌 값 (0이 아님)은 참을 나타냅니다.
이러한 단일 문자 기능은 헤더를 포함하여 프로그램에서 사용할 수 있습니다. 이러한 함수는 널리 사용되고 수용되며 문자 테스트 및 변환 또는 조작을위한 C ++ 프로그래밍에서 매우 유용합니다.
이 튜토리얼에서는 다양한 문자 함수에 대해 논의하고 이러한 각 함수를 프로그램에서 어떻게 사용할 수 있는지 살펴 봅니다.
학습 내용 :
C ++ 문자 함수
C ++ 문자 함수는 단일 문자 만 매개 변수 (int로 캐스트)로 사용하고 결과를 반환하는 함수입니다. 이것들은 isalpha, isalnum, isdigit, islower, isupper 등과 같은 분류 함수가 될 수 있습니다. 몇 가지 이름을 지정하고 주어진 문자를 각각 대문자 또는 소문자로 변환하는 toupper 및 tolower와 같은 변환 함수입니다.
헤더에는 아래와 같이 정의 된 두 가지 유형의 함수가 있습니다.
(i) 문자 분류 기능
문자 분류 함수는 함수에 인수로 전달 된 단일 문자가 특정 범주에 속하는지 확인하는 데 사용됩니다.
아래 헤더에 포함 된 문자 분류 기능을 표로 만들었습니다.
하지 마라 | 기능 명 | 기능 목적 |
---|---|---|
7 | 더 낮은 | 주어진 문자가 소문자인지 확인 |
1 | isalnum | 주어진 문자가 영숫자인지 확인 |
두 | isalpha | 문자가 알파벳인지 확인 |
삼 | 비어있다 | 문자가 비어 있는지 확인 |
4 | iscntrl | 주어진 문자가 제어 문자인지 확인 |
5 | isdigit | 주어진 문자가 10 진수인지 확인 |
6 | isgraph | 주어진 캐릭터에 그래픽 표현이 있는지 확인 |
8 | 인쇄 | 문자가 인쇄 가능한 문자인지 확인 |
9 | ispunct | 문자가 구두점 문자인지 확인 |
10 | isspace | 문자가 공백인지 확인 |
열한 | isupper | 주어진 문자가 대문자인지 확인 |
12 | isxdigit | 문자가 16 진수인지 확인 |
(ii) 문자 변형 기능
문자 변환 함수는 케이스간에 변환됩니다. 파일에는 다음과 같은 기능이 포함되어 있습니다.
하지 마라 | 기능 명 | 기능 목적 |
---|---|---|
1 | 낮추다 | 대문자를 소문자로 변환 |
두 | 토퍼 | 소문자를 대문자로 변환 |
각 캐릭터 기능 (분류 및 변형)을 자세히 살펴 보겠습니다. 또한 각 함수에 대한 간단한 C ++ 프로그래밍 예제를 제공합니다.
Isalnum
기능 프로토 타입 : int isalnum (int c);
매개 변수 : c => 영숫자인지 아닌지 확인해야하는 문자
반환 값 :
0이 아닌 => c는 영숫자입니다.
0 => c는 영숫자가 아님
기술: 이 함수는 주어진 문자 c가 영숫자인지 아닌지를 확인합니다. 영숫자 란 문자가 A (a) -Z (z) 또는 0-9 사이임을 의미합니다.
C ++에서이 함수는 로케일별로 다르며 정의는 header에 있습니다.
예:
#include #include using namespace std; int main() { char chary(12) = 'Hello World'; // checking for isalnum() function for (int i=0; i<12; i++) { if (isalnum(chary (i))) cout << chary (i) << ' is alphanumeric' << endl; else cout << chary (i) << ' is not alphanumeric' << endl; } cout << endl; }
산출:
Isalpha
기능 프로토 타입 : int isalpha (int c);
매개 변수 : c-> 알파벳 여부를 확인할 문자.
반환 값 :
0이 아닌 => c는 알파벳입니다.
0 => 알파벳이 아님
기술: 이 함수는 주어진 문자 c가 알파벳 문자, 즉 소문자와 대문자 사이인지 확인합니다. isalnum과 마찬가지로이 함수는 우리가 사용하는 로케일에 따라 달라집니다.
예:
#include #include using namespace std; int main() { char ch_alpha(5) = 'sth1'; for (int i=0; i<5; i++) { if (isalpha(ch_alpha(i))) cout << ch_alpha(i) << ' is an alphabet' << endl; else cout << ch_alpha(i) << ' is not an alphabet' << endl; } cout << endl; }
산출:
Isblank
기능 프로토 타입 : int isblank (int c);
매개 변수 : c => 확인할 문자.
반환 값 :
0이 아닌 => 문자가 비어 있음
0 => 문자가 공백이 아닙니다.
기술: 이 함수는 주어진 문자가 공백인지 여부를 확인합니다. 공백 문자는 텍스트 줄에서 단어를 구분하는 데 사용되는 공백 문자입니다.
C ++에서 isblank 함수의 로케일 별 버전은.
예:
#include #include using namespace std; int main() { char ch_alpha(6) = 's t h'; for (int i=0; i<6; i++) { if (isblank(ch_alpha(i))) cout << ch_alpha(i) << ' is a blank' << endl; else cout << ch_alpha(i) << ' is not a blank' << endl; } cout << endl; }
산출:
출력에서 'is not blank'라는 마지막 줄을 확인하십시오. 이는 값으로 초기화되지 않았지만 여전히 인쇄 위치가있는 문자 배열의 마지막 위치 때문입니다. 따라서 그것은 공백이 아닙니다.
Iscntrl
기능 프로토 타입 : int iscntrl (int c);
매개 변수 : c => 확인할 문자
반환 값 :
0이 아닌 => c는 제어 문자입니다.
0 => c는 제어 문자가 아닙니다.
기술: 함수는 주어진 매개 변수가 제어 문자인지 확인합니다. 제어 문자는 디스플레이에 나타나지 않거나 인쇄 위치를 차지하지 않는 문자입니다.
예:
#include #include using namespace std; int main() { char ch_alpha(6) = 's
t h'; for (int i=0; i<6; i++) { if (iscntrl(ch_alpha(i))) cout << ch_alpha(i) << ' is a control character' << endl; else cout << ch_alpha(i) << ' is not a control character' << endl; } cout << endl; }
산출:
Isdigit
기능 프로토 타입 : int isdigit (int c)
매개 변수 : c => 값을 검사 할 int로 캐스트 된 문자.
반환 값 : 0이 아닌 => c는 10 진수입니다.
0 => c는 숫자가 아닙니다.
기술: 이 함수는 주어진 매개 변수가 십진수인지 아닌지를 확인합니다. 값이 0에서 9 사이 인 경우 문자는 10 진수입니다.
예:
#include #include using namespace std; int main() { char ch_alpha(5) = 'a12b'; for (int i=0; i<5; i++) { if (isdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is a digit' << endl; else cout << ch_alpha(i) << ' is not a digit' << endl; } cout << endl; }
산출:
Isgraph
기능 프로토 타입 : int isgraph (int c)
매개 변수 : c => isgraph 함수를 사용하여 확인되는 문자 캐스트 int
반환 값 :
0이 아닌 => c는 그래픽 표현입니다.
0 => c는 그래픽 표현이 아닙니다.
기술: 함수는 주어진 문자 c가 그래픽 표현이있는 문자인지 확인합니다. 인쇄 할 수있는 문자는 그래픽 표현이있는 문자입니다.
예:
#include #include using namespace std; int main() { char ch_alpha(6) = 'a~12b'; for (int i=0; i<6; i++) { if (isgraph(ch_alpha(i))) cout << ch_alpha(i) << ' is a graphical character' << endl; else cout << ch_alpha(i) << ' is not a graphical character' << endl; } cout << endl; }
산출:
Islower
기능 프로토 타입 : int islower (int c)
매개 변수 : c => islower 기능을 사용하여 확인할 문자.
반환 값 :
non-zer0 => c는 소문자입니다.
0 => c는 소문자가 아닙니다.
기술: islower 함수는 주어진 문자 c가 소문자인지 여부를 확인합니다.
소문자는 a b c d e f g h I j k l m n o p q r s t u v w x y z 값 중 하나를 갖는 문자입니다.
예:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (islower(ch_alpha(i))) cout << ch_alpha(i) << ' is a lowercase character' << endl; else cout << ch_alpha(i) << ' is not a lowercase character' << endl; } cout << endl; }
산출:
인쇄
기능 프로토 타입 : int 스프린트 (int c)
매개 변수 : c => isprint 기능을 사용하여 확인할 문자.
반환 값 :
non-zer0 => c는 인쇄 가능
0 => c는 인쇄 할 수 없습니다.
기술: 함수 isprint는 주어진 문자가 인쇄 가능한지 확인합니다. 인쇄 가능한 문자는 디스플레이에서 인쇄 위치를 차지하는 문자입니다.
예:
#include #include using namespace std; int main() { char ch_alpha(4) = 'Sth'; for (int i=0; i<4; i++) { if (isprint(ch_alpha(i))) cout << ch_alpha(i) << ' is a printable character' << endl; else cout << ch_alpha(i) << ' is not a printable character' << endl; } cout << endl; }
산출:
Ispunct
기능 프로토 타입 : int ispunct (int c)
매개 변수 : c => ispunct 함수를 사용하여 확인할 문자입니다.
반환 값 :
non-zer0 => c는 구두점 문자입니다.
0 => c는 구두점 문자가 아닙니다.
기술: 이 함수는 주어진 문자가 구두점 문자인지 확인합니다. 그래픽 문자 (isgraph에서)이고 영숫자 (isalnum에서)가 아닌 문자를 구두점 문자라고합니다.
예:
#include #include using namespace std; int main() { char ch_alpha(8) = 'sth@123'; for (int i=0; i<8; i++) { if (ispunct(ch_alpha(i))) cout << ch_alpha(i) << ' is a punctuation character' << endl; else cout << ch_alpha(i) << ' is not a punctuation character' << endl; } cout << endl; }
산출:
Isspace
기능 프로토 타입 : int isspace (int c)
매개 변수 : c => isspace 함수를 사용하여 확인할 문자입니다.
반환 값 :
non-zer0 => c는 공백입니다.
0 => c는 공백이 아닙니다.
기술: 이 함수는 주어진 문자가 공백인지 확인합니다. 'C'로케일의 경우 공백 문자는 다음 중 하나입니다.
예:
#include #include using namespace std; int main() { char ch_alpha(7) = 's t
h'; for (int i=0; i<7; i++) { if (isspace(ch_alpha(i))) cout << ch_alpha(i) << ' is a white space' << endl; else cout << ch_alpha(i) << ' is not a white space' << endl; } cout << endl; }
산출:
Isupper
기능 프로토 타입 : int isupper (int c)
매개 변수 : c => isupper 함수를 사용하여 확인할 문자.
반환 값 :
non-zer0 => c는 대문자입니다.
0 => c는 대문자가 아닙니다.
기술: 함수 islower는 주어진 문자 c가 대문자인지 여부를 확인합니다.
대문자는 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 값 중 하나를 가진 문자입니다.
예:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STh'; for (int i=0; i<4; i++) { if (isupper(ch_alpha(i))) cout << ch_alpha(i) << ' is an uppercase character' << endl; else cout << ch_alpha(i) << ' is not an uppercase character' << endl; } cout << endl; }
산출:
Isxdigit
기능 프로토 타입 : int isxdigit (int c)
매개 변수 : c => isxdigit 함수를 사용하여 확인할 문자.
반환 값 :
non-zer0 => c는 16 진수입니다.
0 => c는 16 진수가 아닙니다.
기술: 이 함수는 주어진 문자가 16 진수인지 확인합니다. 유효한 16 진수는 012 34 5678 9 a b c d e f A B C D E F
예:
#include #include using namespace std; int main() { char ch_alpha(6) = 'sbc10'; for (int i=0; i<6; i++) { if (isxdigit(ch_alpha(i))) cout << ch_alpha(i) << ' is hexadecimal digit' << endl; else cout << ch_alpha(i) << ' is not hexadecimal digit' << endl; } cout << endl; }
산출:
낮추다
기능 프로토 타입 : int tolower (int c)
매개 변수 : c => 소문자로 변환 할 문자입니다.
반환 값 :
c에 해당하는 낮은 값을 반환합니다. 그렇지 않으면 변경되지 않습니다.
반환 값은 int이며 암시 적으로 char로 캐스팅 될 수 있습니다.
기술: 이것은 주어진 문자 c를 소문자로 변환합니다. 주어진 문자에 대해 변환이 불가능하면 변경되지 않은 값 (c)이 리턴됩니다.
예:
#include #include using namespace std; int main() { char ch_alpha(4) = 'STH'; cout< 산출:
소문자로 변환 된 STH : sth
토퍼
기능 프로토 타입 : int toupper (int c)
매개 변수 : c => 대문자로 변환 할 문자
반환 값 :
c에 해당하는 상위 값을 반환합니다. 그렇지 않으면 변경되지 않습니다.
Eclipse에서 Java 프로젝트 시작
반환 값은 int이며 암시 적으로 char로 캐스팅 될 수 있습니다.
기술: 이것은 주어진 문자 c를 대문자로 변환합니다. 주어진 문자에 대해 변환이 불가능하면 변경되지 않은 값 (c)이 리턴됩니다.
예:
#include #include using namespace std; int main() { char ch_alpha(10) = 'tutorials'; cout< 산출:
소문자로 변환 된 튜토리얼 : TUTORIALS
결론
이것으로 C ++의 문자 함수에 대한 튜토리얼이 끝났습니다.
이 튜토리얼에서는 단일 문자를 취한 다음 분류하거나 변환하는 다양한 함수를 보았습니다. 이후 튜토리얼에서는 C ++와 관련된 문자열과 그 함수 및 클래스에 대해 설명합니다.
=> 여기에서 간단한 C ++ 교육 시리즈를 확인하십시오.
추천 도서