如何取中文与字母字符串中的字!?

meiyaa 2008-04-07 06:12:13
如何取中文与字母字符串中的字!?
我写个函数StrMid(CString dest,int startindex,int endindex)取中文与英文的子个数

例子:中国人china

我想取(0,3)显示中国人
(3,7)显示 chin
...全文
24 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Eleven 2008-04-07
IsDBCLByte()来判断是不是双字节,汉字就是双字节的!
回复
许振坪 2008-04-07
巧用_tcsncpy函数就成了。
回复
systemthink 2008-04-07
看老大做题。。。
回复
先从头向后找到你需要的开始地方

size_t i, j, l, k;
l = strlen( t );
j = 0;
for( i = 0; i < l; i++ )
{
if( ( unsigned char )t[ i ] >= 0xa0 && ( unsigned char )t[ i + 1 ] >= 0xa0 )
{
memcpy( tt + j, t + i, 2 );
j += 2;
i++;
}
else
{
j++;
}
}


然后判断你指定的开始是否是一个整汉字,如果不是就加一个字节的偏移。
回复
菜牛 2008-04-07
如果是UNICODE,用宽字符函数;否则用多字节函数;用_tcs前缀的通用宏更方便。
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-04-07 06:12
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……