Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm iswdigit() trong C++ STL


Trong STL C++, iswdigit() là hàm built-in kiểm tra ký tự rộng có phải chữ số thập phân (0-9) hay không. Hàm nằm trong header <cwctype>.

Chữ số thập phân là gì?

Là các giá trị số từ 0 đến 9: 0,1,2,3,4,5,6,7,8,9.

Cú pháp

int iswdigit(wint_t c)

Tham số – c: ký tự rộng cần kiểm tra, ép kiểu wint_t hoặc WEOF.

Giá trị trả về – Trả về khác 0 (true) nếu c là chữ số thập phân, 0 (false) nếu không.

Cách tiếp cận

  • Nhập chuỗi vào biến kiểu string.
  • Gọi iswdigit() kiểm tra ký tự rộng có phải chữ số 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 = '*';
    if (iswdigit(c_1))
        wcout << c_1 << " is a digit ";
    else
        wcout << c_1 << " is a character ";
    wcout << endl;
    if (iswdigit(c_2))
        wcout << c_2 << " is a digit ";
    else
        wcout << c_2 << " is a character ";
    return 0;
}

Kết quả

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;
}

Kết quả

The year 1777 followed 1776