Namensräume
Varianten
Aktionen

std::iswctype

Von cppreference.com
< cpp‎ | string‎ | wide
 
 
 
 
Definiert in Header <cwctype>
int iswctype( std::wint_t wc, std::wctype_t desc );

Klassifiziert das Weitzeichen wc mithilfe der LC_CTYPE-Kategorie der aktuellen C-Locale, identifiziert durch desc.

Wenn der Wert von wc weder als wchar_t darstellbar ist noch gleich dem Wert des Makros WEOF ist, ist das Verhalten undefiniert.

Inhalt

[edit] Parameter

wc - das zu klassifizierende Weitzeichen
desc - die LC_CTYPE-Kategorie, die durch einen Aufruf von std::wctype erhalten wurde

[edit] Rückgabewert

Ungleich Null, wenn das Zeichen wc die von desc identifizierte Eigenschaft in der LC_CTYPE-Facet der aktuellen C-Locale hat, andernfalls Null.

[edit] Beispiel

#include <clocale>
#include <cwctype>
#include <iostream>
 
bool classify(wchar_t wc, const std::string& cat)
{
    return std::iswctype(wc, std::wctype(cat.c_str()));
}
 
int main()
{
    std::setlocale(LC_ALL, "ja_JP.UTF-8");
    std::cout << "The character \u6c34 is...\n";
    for (std::string s : {"digit", "alpha", "space", "cntrl", "jkanji"})
        std::cout << s << "? " << std::boolalpha << classify(L'\u6c34', s) << '\n';
}

Ausgabe

The character 水 is...
digit? false
alpha? true
space? false
cntrl? false
jkanji? true

[edit] Siehe auch

sucht eine Zeichenklassifizierungskategorie in der aktuellen C-Locale auf
(Funktion) [bearbeiten]
C-Dokumentation für iswctype