Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Döngünün bir dizeyi while taradığı ve 'X' dışındaki tüm karakterleri başka bir dizeye kopyaladığı aşağıdaki örneği göz önünde bulundurun:
while( *sz2 )
{
if( *sz2 != 'X' )
*sz1++ = *sz2++;
else
sz2++;
}
Kod, bayt değerini sz2 ile işaret edilen sz1konuma kopyalar ve sonraki bayt değerini almak için artar sz1 . Ancak içindeki sz2 bir sonraki karakter çift baytlık bir karakterse, atama yalnızca sz1 ilk baytı kopyalar. Aşağıdaki kod, karakteri güvenli bir şekilde kopyalamak için taşınabilir bir işlev, artırmak ve sz1 doğru şekilde artırmak sz2 için başka bir işlev kullanır:
while( *sz2 )
{
if( *sz2 != 'X' )
{
_mbscpy_s( sz1, 1, sz2 );
sz1 = _mbsinc( sz1 );
sz2 = _mbsinc( sz2 );
}
else
sz2 = _mbsinc( sz2 );
}