Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

iswdigit() ฟังก์ชันใน C++ STL


ใน C++ STL ฟังก์ชัน iswdigit() เป็นฟังก์ชันในตัวที่ใช้ตรวจสอบว่าอักขระแบบกว้างที่ระบุเป็นอักขระทศนิยมหรืออักขระอื่น ฟังก์ชันนี้มีอยู่ในไฟล์ส่วนหัว cwctype ใน C/C++

ตัวอักษรหลักทศนิยมคืออะไร

อักขระหลักทศนิยมคือค่าตัวเลขที่เริ่มต้นจาก 0 เช่น 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

ไวยากรณ์ของฟังก์ชัน iswcntrl() มีดังนี้

int iswdigit() (wint_t c)

พารามิเตอร์ − c เป็นอักขระแบบกว้างที่ต้องตรวจสอบ ส่งไปยัง wint_t หรือ WEOF โดยที่ wint_t เป็นประเภทอินทิกรัล

คืนค่า − ค่าที่แตกต่างจากศูนย์ (เช่น จริง) หาก c เป็นตัวเลขทศนิยมจริง ๆ และค่าเป็นศูนย์ (เช่น เท็จ) มิฉะนั้น

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้

  • ป้อนสตริงในตัวแปร สมมติว่า 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