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

Hàm iswspace() trong C++ STL


Trong bài viết này, chúng ta sẽ thảo luận về hàm iswspace() trong C++, cú pháp, cách hoạt động và giá trị trả về.

iswspace() là hàm built-in trong C++ được định nghĩa trong header <cwctype>. Hàm kiểm tra xem ký tự rộng truyền vào có phải là ký tự khoảng trắng (whitespace) hay không. Đây là phiên bản wide character của isspace(). Nếu là khoảng trắng trả về khác 0 (true), ngược lại trả về 0 (false).

Cú pháp

int iswspace(wint_t ch);

Hàm chỉ nhận một tham số: ký tự rộng cần kiểm tra. Tham số được ép kiểu sang wint_t hoặc WEOF.

Giá trị trả về

Hàm trả về giá trị nguyên: 0 (false) hoặc khác 0 (true).

Ví dụ 1

#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 << "\nLà ký tự khoảng trắng" : cout << "\nKhông phải ký tự khoảng trắng";
    iswspace(b) ? cout << "\nLà ký tự khoảng trắng" : cout << "\nKhông phải ký tự khoảng trắng";
    iswspace(c) ? cout << "\nLà ký tự khoảng trắng" : cout << "\nKhông phải ký tự khoảng trắng";
    return 0;
}

Kết quả

Không phải ký tự khoảng trắng
Là ký tự khoảng trắng
Không phải ký tự khoảng trắng

Ví dụ 2: Đếm khoảng trắng trong chuỗi rộng

#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 << "Có " << count << " ký tự khoảng trắng.\n";
    return 0;
}

Kết quả

Có 4 ký tự khoảng trắng.