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 블록이 실행되어 "숫자이다"라는 메시지를 출력합니다.