Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL의 iswdigit() 함수

<시간/>

C++ STL에서 iswdigit() 함수는 주어진 와이드 문자가 10진수 문자인지 또는 다른 문자인지 확인하는 데 사용되는 내장 함수입니다. 이 함수는 C/C++의 cwctype 헤더 파일에 있습니다.

십진수는 무엇입니까?

10진수 문자는 0부터 시작하는 숫자 값입니다. 즉, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 입니다.

iswcntrl() 함수의 구문은 다음과 같습니다.

int iswdigit() (wint_t c)

매개변수 - c는 검사할 와이드 문자이며 wint_t로 캐스팅되거나 wint_t가 정수 유형인 WEOF입니다.

반환 가치 − 실제로 c가 10진수이면 0과 다른 값(즉, true)이고 그렇지 않으면 값 0(즉, false)입니다.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 변수에 문자열을 입력합니다. string

    유형의 str[]을 가정해 보겠습니다.
  • 주어진 와이드 문자가 십진수인지 여부를 확인하려면 iswdigit() 함수를 호출하십시오.

  • 결과 인쇄

예시-1

#include <cwctype>
#include <iostream>
using namespace std;
int main(){
   wchar_t c_1 = '2';
   wchar_t c_2 = '*';
   // Function to check if the character
   // is a digit or not
   if (iswdigit(c_1))
      wcout << c_1 << " is a character ";
   else
      wcout << c_1 << " is a digit ";
      wcout << endl;
   if (iswdigit(c_2))
      wcout << c_2 << " is a character ";
   else
      wcout << c_2 << " is a digit ";
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

2 is a digit
* is a character

예시-2

#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main (){
   wchar_t str[] = L"1776ad";
   long int year;
   if (iswdigit(str[0])) {
      year = wcstol (str,NULL,10);
      wprintf (L"The year that followed %ld was %ld.\n",year,year+1);
   }
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

The year 1777 followed 1776