Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Considere el ejemplo siguiente, en el que el bucle while examina una cadena, copiando todos los caracteres excepto "X" en otra cadena:
while( *sz2 )
{
if( *sz2 != 'X' )
*sz1++ = *sz2++;
else
sz2++;
}
El código copia el byte en sz2 en la ubicación a la que apunta sz1 y, a continuación, incrementa sz1 para recibir el siguiente byte. Pero si el siguiente carácter sz2 es un carácter de doble byte, la asignación de sz1 solo copia el primer byte. El código siguiente usa una función portátil para copiar el carácter de forma segura y otra para incrementar sz1 y sz2 correctamente:
while( *sz2 )
{
if( *sz2 != 'X' )
{
_mbscpy_s( sz1, 1, sz2 );
sz1 = _mbsinc( sz1 );
sz2 = _mbsinc( sz2 );
}
else
sz2 = _mbsinc( sz2 );
}
Consulte también
Sugerencias de programación para MBCS
Comparación de caracteres