Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Konvertiert eine externe Darstellung einer Sequenz von Byte s zu einer internen Darstellung einer Sequenz von CharType S.
result in(
StateType& _State,
const Byte* _First1,
const Byte* _Last1,
const Byte*& _Next1,
CharType* _First2,
CharType* _Last2,
CharType*& _Next2,
) const;
Parameter
_State
Der Konvertierungszustand, der von einem Aufruf der Memberfunktion beibehalten wird._First1
Zeiger auf den Anfang der zu konvertierende Sequenz._Last1
Zeiger auf das Ende der zu konvertierende Sequenz._Next1
Zeiger über dem Ende der konvertierten Sequenz zum ersten ohne Zeichen sind._First2
Zeiger auf den Anfang der konvertierten Sequenz._Last2
Zeiger auf das Ende der konvertierten Sequenz._Next2
Zeiger auf CharType, nach der letzten konvertierten Chartype zum ersten unveränderten Zeichen in der Zielsequenz stammt.
Rückgabewert
Durch Rückgabe, die den Erfolg, partiellen Erfolg oder Fehler des Vorgangs angibt.Die Funktion:
codecvt_base::error, wenn die Quellsequenz nicht ordnungsgemäß formatiert ist.
codecvt_base::noconv, wenn die Funktion keine Konvertierung ausgeführt wird.
codecvt_base::ok, wenn die Konvertierung folgt.
codecvt_base::partial, wenn die Quelle nicht ausreicht, oder wenn das Ziel nicht groß genug ist, damit die Konvertierung folgt.
Hinweise
_State muss den ursprünglichen Konvertierungszustand am Anfang einer neuen Quellsequenz darstellen.Die Funktion ändert den gespeicherten Wert nach Bedarf um den aktuellen Zustand erfolgreicher Konvertierung wiederzugeben.Nach einer partiellen Konvertierung muss _State festgelegt werden, um der Konvertierung zu ermöglichen, fortgesetzt, wenn neue Zeichen erhält.
Die Memberfunktion gibt do_in zurück (_State, _First1*, _Last1, _Next1, First2, _Llast2, _Next2*).
Beispiel
// codecvt_in.cpp
// compile with: /EHsc
#define _INTL
#include <locale>
#include <iostream>
using namespace std;
#define LEN 90
int main( )
{
char* pszExt = "This is the string to be converted!";
wchar_t pwszInt [LEN+1];
memset(&pwszInt[0], 0, (sizeof(wchar_t))*(LEN+1));
const char* pszNext;
wchar_t* pwszNext;
mbstate_t state = {0};
locale loc("C");//English_Britain");//German_Germany
int res = use_facet<codecvt<wchar_t, char, mbstate_t> >
( loc ).in( state,
pszExt, &pszExt[strlen(pszExt)], pszNext,
pwszInt, &pwszInt[strlen(pszExt)], pwszNext );
pwszInt[strlen(pszExt)] = 0;
wcout << ( (res!=codecvt_base::error) ? L"It worked! " : L"It didn't work! " )
<< L"The converted string is:\n ["
<< &pwszInt[0]
<< L"]" << endl;
exit(-1);
}
Anforderungen
Header: <locale>
Namespace: std