Computer >> Máy Tính >  >> Lập trình >> C ++

hàm iswdigit () trong C ++ STL

Trong C ++ STL, hàm iswdigit () là một hàm tích hợp được sử dụng để kiểm tra xem ký tự rộng đã cho là ký tự chữ số thập phân hay một số ký tự khác. Hàm này có trong tệp tiêu đề cwctype trong C / C ++.

Các ký tự chữ số thập phân là gì?

Ký tự chữ số thập phân là các giá trị số bắt đầu từ 0, tức là 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Cú pháp của hàm iswcntrl () như sau

int iswdigit() (wint_t c)

Thông số - c là một ký tự rộng cần được kiểm tra, chuyển thành wint_t hoặc WEOF trong đó wint_t là một kiểu tích phân.

Giá trị trả lại - Một giá trị khác 0 (tức là đúng) nếu thực sự c là một chữ số thập phân và giá trị 0 (tức là sai) nếu ngược lại.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập chuỗi vào một biến, giả sử str [] thuộc loại chuỗi

  • Gọi hàm iswdigit () để kiểm tra xem ký tự rộng đã cho có phải là chữ số thập phân hay không

  • In kết quả

Ví dụ-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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

2 is a digit
* is a character

Ví dụ-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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

The year 1777 followed 1776