Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C/C++의 iswdigit() 함수: 와이드 문자가 십진 숫자인지 판별하는 방법

iswdigit() 함수란?

iswdigit() 함수는 C/C++에서 제공하는 내장(built-in) 함수로, 전달된 와이드 문자(wide character)가 십진수 숫자(decimal digit)인지 여부를 판별합니다. 이 함수는 C++에서는 <cwctype> 헤더 파일에 선언되어 있으며, C 언어에서는 <ctype.h> 헤더 파일에 선언되어 있습니다.

함수는 하나의 문자를 인자로 받으며, 이 문자는 와이드 문자(wchar_t) 타입입니다.

반환값

0부터 9까지의 문자는 십진수 숫자로 분류됩니다.

  • 와이드 문자가 숫자(0~9)인 경우: 0이 아닌 값(non-zero)을 반환합니다.
  • 와이드 문자가 숫자가 아닌 경우: 0(zero)을 반환합니다.

구문(Syntax)

int iswdigit(ch)

매개변수 ch에는 검사할 와이드 문자가 전달되며, 함수는 int형 값을 반환합니다.

예제

다음은 C++ 언어에서 iswdigit() 함수를 사용하는 예제입니다.

#include <cwctype>
#include <iostream>
using namespace std;
int main() {
    wchar_t c1 = '!';
    wchar_t c2 = '8';
    if (iswdigit(c1))
    wcout << c1 << " , The character is a digit ";
    else
    wcout << c1 << " , The character is not a digit ";
    wcout << endl;
    if (iswdigit(c2))
    wcout << c2 << ", The character is a digit ";
    else
    wcout << c2 << ", The character is not a digit ";
    return 0;
}

실행 결과

! , The character is not a digit
8 , The character is a digit

코드 설명

위 예제에서는 두 개의 와이드 문자 변수 c1('!')과 c2('8')를 선언한 후, iswdigit() 함수로 각각 검사합니다. 느낌표(!)는 숫자가 아니므로 첫 번째 조건문의 else 블록이 실행되어 "숫자가 아니다"라는 메시지를 출력하고, 숫자 8은 십진수 숫자에 해당하므로 두 번째 조건문의 if 블록이 실행되어 "숫자이다"라는 메시지를 출력합니다.