| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 531 人关注过本帖
标题:肿么统计中英混合的字符串个数?
只看楼主 加入收藏
qq51099008
Rank: 1
等 级:新手上路
帖 子:16
专家分:8
注 册:2011-8-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
肿么统计中英混合的字符串个数?
hello世界  要求统计出来字数为7而不是9~~

貌似有些网友说的可以根据(若已声明 ch = getc(file)) ch < 0 来判断是否为中文字符,但我机子上试验 怎么中文和英文字符都是ch>0才能被检测出来?
然后又看到可以用if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z'),但这只能判断出英文字幕(就算再加个0-9也只能判断字幕和数字),else不仅仅只有中文 还有其他符号。。。

怎么判断当前字符ch是中文还是英文(或者说怎么才能分别统计出中英文字符的个数 标点符号不算在内)
搜索更多相关主题的帖子: 统计 检测 字符串 hello 中文 
2011-12-27 08:29
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:20 
中文是以双字节表示的,最高位为1,连续两位小于0 则为中文字
当然前提你还要区分你的字符是以A码或者U码存储的
2011-12-27 08:52
qq51099008
Rank: 1
等 级:新手上路
帖 子:16
专家分:8
注 册:2011-8-4
收藏
得分:0 
if(black != 32) //判断是否空格
        {
            
            //    iCount++;
            if(((black>=48)&&(black<=57)) || ((black>=65)&&(black<=90))
                ||((black>=97)&&(black<=122)) )//如果是英文字符或数字
                iCountEn++;
            else if(black<0 || black >126)
                iCountCh++;
               
        //    if(black > 0)
        //    iCountCh++;
        }
        black = 0;
    }


自己想通了~~  终于运行成功了。。。
2011-12-27 09:13
快速回复:肿么统计中英混合的字符串个数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019606 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved