std::iscntrl(std::locale)
From cppreference.com
| ヘッダー <locale> で定義 |
||
| template< class CharT > bool iscntrl( CharT ch, const locale& loc ); |
||
指定されたロケールにおける std::ctype ファセットによって、与えられた文字が制御文字として分類されるかどうかをチェックします。
目次 |
[編集] パラメータ
| 文字 | - | 文字 |
| loc | - | locale |
[編集] 戻り値
文字が制御文字として分類される場合は true を、そうでない場合は false を返します。
[編集] 考えられる実装
template<class CharT> bool iscntrl(CharT ch, const std::locale& loc) { return std::use_facet<std::ctype<CharT>>(loc).is(std::ctype_base::cntrl, ch); } |
[編集] 例
異なるロケール(OS固有)での iscntrl() の使用例を示します。
このコードを実行
#include <iostream> #include <locale> int main() { const wchar_t CCH = L'\u0094'; // Destructive Backspace in Unicode std::locale loc1("C"); std::cout << "iscntrl(CCH, C locale) returned " << std::boolalpha << std::iscntrl(CCH, loc1) << '\n'; std::locale loc2("en_US.UTF8"); std::cout << "iscntrl(CCH, Unicode locale) returned " << std::boolalpha << std::iscntrl(CCH, loc2) << '\n'; }
実行結果の例
iscntrl(CCH, C locale) returned false iscntrl(CCH, Unicode locale) returned true
[編集] 関連項目
| 文字が制御文字か調べる (関数) | |
| ワイド文字が制御文字であるかチェックする (関数) |