字符赋值

请看下例,在此例中 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 );
}

请参见

概念

MBCS 编程提示

字符比较