std::codecvt_byname
提供:cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <locale>
|
||
| template< class internT, class externT, class stateT > class codecvt_byname : public std::codecvt<internT, externT, stateT>; |
||
std::codecvt_bynameその建設時に指定されたロケールのマルチバイト/ワイド文字の変換規則をカプセル化std::codecvtファセットです.
Original:
std::codecvt_byname is a std::codecvt facet which encapsulates multibyte/wide character conversion rules of a locale specified at its construction.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
四つの専門分野は、標準ライブラリで提供されています
Original:
Four specializations are provided by the standard library
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
| Defined in header
<locale> | |
| std::codecvt_byname<char, char, std::mbstate_t> | 恒等変換
Original: identity conversion The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| std::codecvt_byname<char16_t, char, std::mbstate_t> | UTF-16とUTF-8間の変換(C + + 11以来)
Original: conversion between UTF-16 and UTF-8 (C + + 11以来) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| std::codecvt_byname<char32_t, char, std::mbstate_t> | UTF-32とUTF-8間の変換(C + + 11以来)
Original: conversion between UTF-32 and UTF-8 (C + + 11以来) The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| std::codecvt_byname<wchar_t, char, std::mbstate_t> | ワイド文字列と狭く、おそらくマルチバイト文字列の間のロケール固有の変換
Original: locale-specific conversion between wide string and narrow, possibly multibyte, string The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
目次 |
[編集] メンバ関数
| 新しいcodecvt_bynameファセットを構築します Original: constructs a new codecvt_byname facet The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数) | |
| codecvt_bynameファセットを破棄します Original: destructs a codecvt_byname facet The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (メンバー関数を保護しました) | |
Inherited from std::codecvt
Member types
| メンバー·タイプ
Original: Member type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
intern_type
|
internT
|
extern_type
|
externT
|
state_type
|
stateT
|
Member objects
| メンバー名
Original: Member name The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Type |
id (静的)
|
std::locale::id |
Member functions
do_outを呼び出します Original: invokes do_out The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数of std::codecvt)
| |
do_inを呼び出します Original: invokes do_in The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数of std::codecvt)
| |
do_unshiftを呼び出します Original: invokes do_unshift The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数of std::codecvt)
| |
do_encodingを呼び出します Original: invokes do_encoding The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数of std::codecvt)
| |
do_always_noconvを呼び出します Original: invokes do_always_noconv The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数of std::codecvt)
| |
do_lengthを呼び出します Original: invokes do_length The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数of std::codecvt)
| |
do_max_lengthを呼び出します Original: invokes do_max_length The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数of std::codecvt)
| |
Protected member functions
| [仮想] |
そのようなファイルに書き込むときのように、internTからexternTに文字列を変換します Original: converts a string from internT to externT, such as when writing to file The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数of std::codecvt)
|
| [仮想] |
そのようなファイルからの読み込みの場合のように、externTからinternTに文字列を変換します Original: converts a string from externT to internT, such as when reading from file The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数of std::codecvt)
|
| [仮想] |
不完全な変換のためexternT文字の終端文字列を生成する Original: generates the termination character sequence of externT characters for incomplete conversion The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数of std::codecvt)
|
| [仮想] |
一定の場合には、1 internT文字を生成するのに必要なexternT文字の数を返します Original: returns the number of externT characters necessary to produce one internT character, if constant The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数of std::codecvt)
|
| [仮想] |
ファセットかどうかをテストし、すべての有効な引数値の恒等変換をエンコードします Original: tests if the facet encodes an identity conversion for all valid argument values The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数of std::codecvt)
|
| [仮想] |
与えられたinternTバッファに変換することによって消費されるexternT文字列の長さを計算します Original: calculates the length of the externT string that would be consumed by conversion into given internT buffer The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数of std::codecvt)
|
| [仮想] |
シングルinternT文字に変換することができるexternT文字の最大数を返します Original: returns the maximum number of externT characters that could be converted into a single internT character The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (仮想protectedメンバ関数of std::codecvt)
|
Inherited from std::codecvt_base
| メンバー·タイプ
Original: Member type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
| enum result { ok, partial, error, noconv }; | 対象範囲外の列挙型
Original: Unscoped enumeration type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| 列挙定数
Original: Enumeration constant The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
ok
|
変換はエラーなしで完了しました
Original: conversion was completed with no error The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
partial
|
ていないすべてのソースの文字が変換されました
Original: not all source characters were converted The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
error
|
無効な文字を検出しました
Original: encountered an invalid character The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
noconv
|
変換が必要なく、入力と出力の種類が同じものはありません
Original: no conversion required, input and output types are the same The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[編集] 例
この例では、GB18030対応のロケールからcodecvtファセットを使用して、GB18030でエンコードされたファイルを読み込む方法を示しています
Original:
This example demonstrates reading a GB18030-encoded file using the codecvt facet from a GB18030-aware locale
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <iostream> #include <fstream> #include <string> #include <locale> int main() { // GB18030 narrow multibyte encoding std::ofstream("text.txt") << "\x7a" // letter 'z', U+007a "\x81\x30\x89\x38" // letter 'ß', U+00df "\xcb\xae" // CJK ideogram '水' (water), U+6c34 "\x94\x32\xbc\x35"; // musical sign '𝄋' (segno), U+1d10b std::wifstream fin("text.txt"); fin.imbue(std::locale(fin.getloc(), new std::codecvt_byname<wchar_t, char, std::mbstate_t>("zh_CN.gb18030"))); for(wchar_t c; fin.get(c); ) std::cout << std::hex << std::showbase << c << '\n'; }
Output:
0x7a 0xdf 0x6c34 0x1d10b
[編集] も参照してください
| UTF-8、UTF-16、UTF-32を含む文字エンコーディング間の変換を行います Original: converts between character encodings, including UTF-8, UTF-16, UTF-32 The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (クラステンプレート) | |