字元設定
考慮下列範例,其中 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 );
}