iswupper() คืออะไร?
iswupper() เป็นฟังก์ชันในตัวใน C++ ซึ่งนิยามในไฟล์หัวข้อ <cwctype> ฟังก์ชันนี้ตรวจสอบว่า อักขระกว้าง (wide character) ที่ส่งผ่านเข้ามาอยู่ในรูปแบบ ตัวพิมพ์ใหญ่ (uppercase A-Z) หรือไม่ ฟังก์ชันนี้เป็นเวอร์ชัน wide character ของ isupper() ทำงานเหมือนกันแต่รองรับอักขระกว้าง ฟังก์ชันตรวจสอบว่าอาร์กิวเมนต์ที่ส่งมาเป็นตัวพิมพ์ใหญ่ (A-Z) หากใช่ ส่งคืนค่าเต็มที่ไม่ใช่ศูนย์ (true) มิฉะนั้นส่งคืนศูนย์ (false)
ไวยากรณ์ (Syntax)
int iswupper(wint_t ch);
ฟังก์ชันรับพารามิเตอร์เพียงหนึ่งตัว คือ อักขระกว้างที่ต้องการตรวจสอบ อาร์กิวเมนต์จะถูกแปลงเป็น wint_t หรือ WEOF
wint_t เก็บข้อมูลชนิดเต็ม (integral type)
ค่าที่ส่งคืน (Return Value)
ฟังก์ชันส่งคืนค่าเต็ม ซึ่งอาจเป็น 0 (กรณี false) หรือค่าใดๆ ที่ไม่ใช่ศูนย์ (กรณี true)
ตัวอย่างการใช้งาน iswupper()
#include <iostream>
#include <cwctype>
using namespace std;
int main() {
wint_t a = L'A';
wint_t b = L'a';
wint_t c = L'B';
iswupper(a) ? cout << "\nเป็นตัวพิมพ์ใหญ่" : cout << "\nไม่ใช่ตัวพิมพ์ใหญ่";
iswupper(b) ? cout << "\nเป็นตัวพิมพ์ใหญ่" : cout << "\nไม่ใช่ตัวพิมพ์ใหญ่";
iswupper(c) ? cout << "\nเป็นตัวพิมพ์ใหญ่" : cout << "\nไม่ใช่ตัวพิมพ์ใหญ่";
return 0;
}
ผลลัพธ์ (Output)
เป็นตัวพิมพ์ใหญ่ ไม่ใช่ตัวพิมพ์ใหญ่ เป็นตัวพิมพ์ใหญ่
ตัวอย่างประยุกต์: นับจำนวนตัวพิมพ์ใหญ่ในสตริงกว้าง
#include <iostream>
#include <cwctype>
using namespace std;
int main() {
int i, count = 0;
wchar_t s[] = L"I aM VisItinG TutOriAls PoInT";
i = 0;
while (s[i]) {
if (iswupper(s[i]))
count++;
i++;
}
cout << "มีตัวพิมพ์ใหญ่ทั้งหมด " << count << " ตัวอักษร\n";
return 0;
}
ผลลัพธ์ (Output)
มีตัวพิมพ์ใหญ่ทั้งหมด 11 ตัวอักษร
ฟังก์ชันที่เกี่ยวข้อง: isupper() (สำหรับ char ธรรมดา), iswlower() (ตรวจสอบตัวพิมพ์เล็ก wide), towupper() (แปลงเป็นตัวพิมพ์ใหญ่ wide), towlower() (แปลงเป็นตัวพิมพ์เล็ก wide)