Udostępnij za pośrednictwem


Przypisanie znaku

Rozważmy następujący przykład, w którym while ciąg, kopiowanie wszystkie znaki z wyjątkiem "X" w innym ciągu skanuje pętli:

while( *sz2 )
{
    if( *sz2 != 'X' )
        *sz1++ = *sz2++;
    else
        sz2++;
}

Kopiuje kod bajtowy w sz2 w lokalizacji wskazywanej przez sz1, następnie przyrostach sz1 do odbierania następnego bajtu.Jeśli jednak następnego znaku w sz2 jest znaków dwubajtowych, przypisanie do sz1 kopiuje tylko pierwszy bajt.W poniższym kodzie użyto przenośnych funkcji, aby skopiować znak bezpiecznie, a drugi do przyrostu sz1 i sz2 poprawnie:

while( *sz2 )
{
    if( *sz2 != 'X' )
    {
        _mbscpy_s( sz1, 1, sz2 );
        sz1 = _mbsinc( sz1 );
        sz2 = _mbsinc( sz2 );
    }
    else
        sz2 = _mbsinc( sz2 );
}

Zobacz też

Koncepcje

Porady dotyczące programowania MBCS

Porównywanie znaków