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

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

iswspace() คืออะไร?

iswspace() เป็นฟังก์ชันในตัวใน C++ ซึ่งนิยามในไฟล์หัวข้อ <cwctype> ฟังก์ชันนี้ตรวจสอบว่า อักขระกว้าง (wide character) ที่ส่งผ่านเข้ามาเป็น อักขระเว้นวรรค (whitespace character) หรือไม่ ฟังก์ชันนี้เป็นเวอร์ชัน wide character ของ isspace() ทำงานเหมือนกันแต่รองรับอักขระกว้าง ฟังก์ชันตรวจสอบว่าอาร์กิวเมนต์ที่ส่งมาเป็นอักขระเว้นวรรค (เช่น space, tab, newline) หากใช่ ส่งคืนค่าเต็มที่ไม่ใช่ศูนย์ (true) มิฉะนั้นส่งคืนศูนย์ (false)

อักขระเว้นวรรค (Whitespace characters) ประกอบด้วย

' ' (space)  '\t' (tab)  '\n' (newline)  '\v' (vertical tab)  '\f' (form feed)  '\r' (carriage return)

ไวยากรณ์ (Syntax)

int iswspace(wint_t ch);

ฟังก์ชันรับพารามิเตอร์เพียงหนึ่งตัว คือ อักขระกว้างที่ต้องการตรวจสอบ อาร์กิวเมนต์จะถูกแปลงเป็น wint_t หรือ WEOF

ค่าที่ส่งคืน (Return Value)

ฟังก์ชันส่งคืนค่าเต็ม ซึ่งอาจเป็น 0 (กรณี false) หรือค่าใดๆ ที่ไม่ใช่ศูนย์ (กรณี true)

ตัวอย่างการใช้งาน iswspace()

#include <iostream>
#include <cwctype>
using namespace std;

int main() {
    wint_t a = L'.';
    wint_t b = L' ';
    wint_t c = L'1';
    iswspace(a) ? cout << "\nเป็นอักขระเว้นวรรค" : cout << "\nไม่ใช่อักขระเว้นวรรค";
    iswspace(b) ? cout << "\nเป็นอักขระเว้นวรรค" : cout << "\nไม่ใช่อักขระเว้นวรรค";
    iswspace(c) ? cout << "\nเป็นอักขระเว้นวรรค" : cout << "\nไม่ใช่อักขระเว้นวรรค";
    return 0;
}

ผลลัพธ์ (Output)

ไม่ใช่อักขระเว้นวรรค
เป็นอักขระเว้นวรรค
ไม่ใช่อักขระเว้นวรรค

ตัวอย่างประยุกต์: นับจำนวนเว้นวรรคในสตริงกว้าง

#include <iostream>
#include <cwctype>
using namespace std;

int main() {
    int i = 0, count = 0;
    wchar_t s[] = L"I am visiting tutorials point";
    while (s[i]) {
        if (iswspace(s[i]))
            count++;
        i++;
    }
    cout << "มีอักขระเว้นวรรคทั้งหมด " << count << " ตัว\n";
    return 0;
}

ผลลัพธ์ (Output)

มีอักขระเว้นวรรคทั้งหมด 4 ตัว

ฟังก์ชันที่เกี่ยวข้อง: isspace() (สำหรับ char ธรรมดา), iswblank() (ตรวจสอบ space และ tab เท่านั้น), iswctype() (ตรวจสอบตาม category แบบกำหนดเอง)