Przypisanie znaków
Rozważmy następujący przykład, w którym while pętli skanuje ciąg kopiowanie wszystkie znaki oprócz "X" w innym ciągu:
while( *sz2 )
{
if( *sz2 != 'X' )
*sz1++ = *sz2++;
else
sz2++;
}
Kod kopiuje bajt na sz2 w lokalizacji wskazywanej przez sz1, następnie zwiększa sz1 do odbierania następnego bajtu.Jeśli jednak następnego znaku w sz2 jest znaków dwubajtowych, przypisanie do sz1 kopiuje pierwszego bajtu.W poniższym kodzie użyto przenośnych funkcja bezpiecznie skopiować znak, a drugi do zwiększania sz1 i sz2 poprawnie:
while( *sz2 )
{
if( *sz2 != 'X' )
{
_mbscpy_s( sz1, 1, sz2 );
sz1 = _mbsinc( sz1 );
sz2 = _mbsinc( sz2 );
}
else
sz2 = _mbsinc( sz2 );
}