codecvt::in
convierte una representación externa de una secuencia de s de bytea una representación interna de una secuencia de s de CharType.
result in(
StateType& _State,
const Byte* _First1,
const Byte* _Last1,
const Byte*& _Next1,
CharType* _First2,
CharType* _Last2,
CharType*& _Next2,
) const;
Parámetros
_State
El estado de conversión que se mantiene entre las llamadas a la función miembro._First1
Puntero al principio de la secuencia que se va a convertir._Last1
Puntero al final de la secuencia que se va a convertir._Next1
Puntero más allá del final de la secuencia convierte el primer carácter no._First2
Puntero al principio de la secuencia convertida._Last2
Puntero al final de la secuencia convertida._Next2
Puntero a CharType que viene después de Chartype convertido pasado al primer carácter inalterado en la secuencia de destino.
Valor devuelto
un retorno que indica el éxito o el error correcto, parcial de la operación.La función devuelve:
codecvt_base:: error si la secuencia de origen es incorrecta.
codecvt_base::noconv si la función no realiza ninguna conversión.
codecvt_base:: autorización si la conversión se realiza correctamente.
codecvt_base:: parcial si el origen es insuficiente o si el destino no es suficientemente grande para que la conversión se realiza correctamente.
Comentarios
_State debe representar el estado inicial de la conversión al principio de una nueva secuencia de origen.La función modificar su valor almacenado, según convenga, para reflejar el estado actual de una conversión correcta.Después de una conversión parcial, _State se debe permitir que la conversión reanudar cuando llegan los caracteres nuevos.
La función miembro devuelve do_in(_State, _First1*, _Last1, _Next1, First2, _Llast2, _Next2*).
Ejemplo
// 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);
}
Requisitos
encabezado: <configuración regional>
espacio de nombres: std