문자 할당
다음 예제는 while 루프에서 문자열을 검색하고 'X'를 제외한 모든 문자를 다른 문자열에 복사합니다.
while( *sz2 )
{
if( *sz2 != 'X' )
*sz1++ = *sz2++;
else
sz2++;
}
위 코드는 sz2의 바이트를 sz1이 가리키는 위치로 복사한 후 다음 바이트를 받기 위해 sz1을 증가시킵니다. 그러나 sz2의 다음 문자가 더블바이트 문자이면 sz1에 할당할 때 첫째 바이트만 복사됩니다. 다음 코드는 해당 문자를 안전하게 복사하는 이식 가능 함수와 sz1및 sz2를 제대로 증가시키는 다른 함수를 사용합니다.
while( *sz2 )
{
if( *sz2 != 'X' )
{
_mbscpy_s( sz1, 1, sz2 );
sz1 = _mbsinc( sz1 );
sz2 = _mbsinc( sz2 );
}
else
sz2 = _mbsinc( sz2 );
}