codecvt::out
將內部 CharType的編碼的外部 Byte. 的序列。
result out(
StateType& _State,
const CharType* _First1,
const CharType* _Last1,
const CharType*& _Next1,
Byte* _First2,
Byte* _Last2,
Byte*& _Next2
) const;
參數
_State
會維護對成員函式的呼叫之間的轉換狀態。_First1
要轉換的序列開頭的指標。_Last1
要轉換的序列結尾的指標。_Next1
指標參考為最後一頁 CharType 後的第一個不會 CharType 轉換為。_First2
要進行轉換的序列開頭的指標。_Last2
要進行轉換的序列結尾的指標。_Next2
指標參考至最後一個轉換的 Byte後的第一個不會 Byte 。
傳回值
成員函式傳回 do_out(_State_First1_Last1、、、、、 _Next1_First2_Last2, _Next2)。
備註
如需詳細資訊,請參閱 codecvt::do_out。
範例
// codecvt_out.cpp
// compile with: /EHsc
#define _INTL
#include <locale>
#include <iostream>
#include <wchar.h>
using namespace std;
#define LEN 90
int main( )
{
char pszExt[LEN+1];
wchar_t *pwszInt = L"This is the wchar_t string to be converted.";
memset( &pszExt[0], 0, ( sizeof( char ) )*( LEN+1 ) );
char* pszNext;
const wchar_t* pwszNext;
mbstate_t state;
locale loc("C");//English_Britain");//German_Germany
int res = use_facet<codecvt<wchar_t, char, mbstate_t> >
( loc ).out( state,
pwszInt, &pwszInt[wcslen( pwszInt )], pwszNext ,
pszExt, &pszExt[wcslen( pwszInt )], pszNext );
pszExt[wcslen( pwszInt )] = 0;
cout << ( ( res!=codecvt_base::error ) ? "It worked: " : "It didn't work: " )
<< "The converted string is:\n ["
<< &pszExt[0]
<< "]" << endl;
}
需求
標題: <locale>
命名空間: std