문자 할당
루프가 문자열을 검색하여 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 );
}