Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Considere o exemplo a seguir, no qual o while loop verifica uma cadeia de caracteres, copiando todos os caracteres, exceto 'X' para outra cadeia de caracteres:
while( *sz2 )
{
if( *sz2 != 'X' )
*sz1++ = *sz2++;
else
sz2++;
}
O código copia o byte em sz2 para o local indicado por sz1, e em seguida, incrementa sz1 para receber o próximo byte. Mas, se o próximo caractere em sz2 for um caractere de byte duplo, a atribuição para sz1 copia apenas o primeiro byte. O código a seguir usa uma função portátil para copiar o caractere com segurança e outra para incrementar sz1 e sz2 corretamente:
while( *sz2 )
{
if( *sz2 != 'X' )
{
_mbscpy_s( sz1, 1, sz2 );
sz1 = _mbsinc( sz1 );
sz2 = _mbsinc( sz2 );
}
else
sz2 = _mbsinc( sz2 );
}