名前空間
変種
操作

std::codecvt

提供: cppreference.com
< cpp‎ | locale

 
 
ローカライゼーションライブラリ
ロケールおよびファセット
Original:
Locales and facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
locale
文字分類
Original:
Character classification
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
変換
Original:
Conversions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ファセットカテゴリの基底クラスです
Original:
Facet category base classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ファセットカテゴリ
Original:
Facet categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
ロケール固有のファセット
Original:
Locale-specific facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
コー​​ド変換ファセット
Original:
Code conversion facets
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
codecvt_utf8(C++11)
codecvt_utf16(C++11)
Cロケール
Original:
C locale
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
 
Defined in header <locale>
template<

    class InternT,
    class ExternT,
    class State

> class codecvt;
あるエンコーディングから別のエンコーディング、ワイド文字とマルチバイトを含む文字列のクラスstd::codecvtカプセル化変換、。 std::basic_fstream<CharT>を通じて実行されるすべてのファイルI / O操作は、ストリーム内に吹き込まれたロケールのstd::codecvt<CharT, char, std::mbstate_t>ファセットを使用し.
Original:
Class std::codecvt encapsulates conversion of character strings, including wide and multibyte, from one encoding to another. All file I/O operations performed through std::basic_fstream<CharT> use the std::codecvt<CharT, char, std::mbstate_t> facet of the locale imbued in the stream.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
cpp/locale/codecvt basecpp/locale/locale/facetstd-codecvt-inheritance.svg
画像の詳細

Inheritance diagram

四つの専門分野は、標準ライブラリによって提供されており、C + +プログラムで作成されたすべてのロケール·オブジェクトによって実装されます
Original:
Four specializations are provided by the standard library and are implemented by all locale objects created in a C++ program:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Defined in header <locale>
std::codecvt<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<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<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<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.

目次

[編集] メンバータイプ

メンバー·タイプ
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

[編集] メンバーオブジェクト

メンバー名
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

[編集] メンバ関数

新しいcodecvtファセットを構築します
Original:
constructs a new codecvt facet
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(パブリックメンバ関数)
codecvtファセットを破棄します
Original:
destructs a codecvt facet
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(メンバー関数を保護しました)
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.

(パブリックメンバ関数) [edit]
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.

(パブリックメンバ関数) [edit]
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.

(パブリックメンバ関数) [edit]
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.

(パブリックメンバ関数) [edit]
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.

(パブリックメンバ関数) [edit]
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.

(パブリックメンバ関数) [edit]
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.

(パブリックメンバ関数) [edit]

[編集] メンバ関数を保護しました

[仮想]
そのようなファイルに書き込むときのように、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メンバ関数) [edit]
[仮想]
そのようなファイルからの読み込みの場合のように、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メンバ関数) [edit]
[仮想]
不完全な変換のため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メンバ関数) [edit]
[仮想]
一定の場合には、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メンバ関数) [edit]
ファセットかどうかをテストし、すべての有効な引数値の恒等変換をエンコードします
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メンバ関数) [edit]
[仮想]
与えられた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メンバ関数) [edit]
シングル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メンバ関数) [edit]

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.

[編集]

次の例では、UTF-8変換を実装してロケールを使用して、UTF-8のファイルを読み込みcodecvtで<wchar_t, char, mbstate_t>
Original:
The following examples reads a UTF-8 file using a locale which implements UTF-8 conversion in codecvt<wchar_t, char, mbstate_t>
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <iostream>
#include <fstream>
#include <string>
#include <locale>
#include <iomanip>
int main()
{
    // UTF-8 narrow multibyte encoding
    std::ofstream("text.txt") << u8"z\u00df\u6c34\U0001d10b"; // or u8"zß水𝄋"
                                           // or "\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9d\x84\x8b";
    std::wifstream fin("text.txt");
    fin.imbue(std::locale("en_US.UTF-8")); // this locale's codecvt<wchar_t, char, mbstate_t>
                                           // converts UTF-8 to UCS4
    std::cout << "The UTF-8 file contains the following wide characters: \n";
    for(wchar_t c; fin >> c; )
        std::cout << "U+" << std::hex << std::setw(4) << std::setfill('0') << c << '\n';
}

Output:

The UTF-8 file contains the following wide characters:
U+007a
U+00df
U+6c34
U+1d10b

[編集] も参照してください

Character
conversions
narrow multibyte
(char)
UTF-8
(char)
UTF-16
(char16_t)
UTF-16 mbrtoc16 / c16rtomb codecvt<char16_t, char, mbstate_t>
codecvt_utf8_utf16<char16_t>
codecvt_utf8_utf16<char32_t>
codecvt_utf8_utf16<wchar_t>
N/A
UCS2 No codecvt_utf8<char16_t> codecvt_utf16<char16_t>
UTF-32/UCS4
(char32_t)
mbrtoc32 / c32rtomb codecvt<char32_t, char, mbstate_t>
codecvt_utf8<char32_t>
codecvt_utf16<char32_t>
UCS2/UCS4
(wchar_t)
No codecvt_utf8<wchar_t> codecvt_utf16<wchar_t>
wide
(wchar_t)
codecvt<wchar_t, char, mbstate_t>
mbsrtowcs / wcsrtombs
No No
文字変換エラーを定義しています
Original:
defines character conversion errors
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(クラステンプレート)
名前のロケール用のcodecvtファセットを作成します
Original:
creates a codecvt facet for the named locale
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(クラステンプレート)
UTF-8とUCS2/UCS4の間で変換を行います
Original:
converts between UTF-8 and UCS2/UCS4
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(クラステンプレート) [edit]
UTF-16とUCS2/UCS4の間で変換を行います
Original:
converts between UTF-16 and UCS2/UCS4
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(クラステンプレート) [edit]
converts between UTF-8 and UTF-16
(クラステンプレート) [edit]