CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

关于字数统计

楼主monstersky()2004-09-03 09:45:44 在 VC/MFC / 基础类 提问

我把一段文字放在了一个CString类的变量里。  
  如何统计出其中中文字符的个数和非中文字符的个数??(我没使用UNICODE编译选项) 问题点数:100、回复次数:8Top

1 楼bohut(●伯虎● )回复于 2004-09-03 09:49:57 得分 0

CString   str="12345一二三四五abcde";  
  int   Lenth   =   m_str.GetLength();  
  int   nELenth   =   0; //非中文字符数  
  int   nCLenth   =   0; //中文字符数  
  int   nTotalLenth   =   0;//总共字符数  
  for(int   i=0;i<Lenth;i++)  
  {  
  char   c   =   str.GetAt(i);  
  //是中文字符  
  if(c<0||c>255)  
  continue;  
  //是非中文字符  
  else    
  nELenth   ++;  
  }  
  //计算中文字符数,每个中文字符占两个字节  
  nCLenth   =   (Lenth-nELenth)/2;  
   
  nTotalLenth   =   nCLenth   +   nELenth;  
                    CString   strTotal,strNotChinese,strChinese;  
  strTotal.Format("总共字符数:%d",nTotalLenth);  
  strNotChinese.Format("非中文字符数:%d",nELenth);  
  strChinese.Format("中文字符数:%d",nCLenth);Top

2 楼bohut(●伯虎● )回复于 2004-09-03 09:51:41 得分 25

上述代码中的第二句改成:  
  int   Lenth   =   str.GetLength();Top

3 楼microyzy(人不在牛,分高就行;分不在高,人牛也行)回复于 2004-09-03 09:51:45 得分 0

好像很难啊,128以下的算ascii字符,以上的两个字节一块算  
   
  似乎也不行,还是楼下高见吧Top

4 楼microyzy(人不在牛,分高就行;分不在高,人牛也行)回复于 2004-09-03 09:51:58 得分 15

好像很难啊,128以下的算ascii字符,以上的两个字节一块算  
   
  似乎也不行,还是楼下高见吧Top

5 楼laiyiling(陌生人[MVP])回复于 2004-09-03 09:56:26 得分 35

http://search.csdn.net/Expert/topic/2499/2499510.xml?temp=.7076532Top

6 楼bobob(静思)回复于 2004-09-03 09:58:34 得分 15

中文的编码值是负数,即最高位是1,且占两个字节。Top

7 楼flyelf(空谷清音)回复于 2004-09-03 10:01:30 得分 10

用stl把count_ifTop

8 楼monstersky()回复于 2004-09-03 16:46:58 得分 0

呵呵,其实是我懒了。查查过去的帖子不就成了。  
  不过还是谢谢大家,同时也希望大家看看那个帖子。bobob,不知道那个关于GBK的说法对不对,有时间我会查一查。伯虎,谢谢你的代码。其实你改那个m_str大家也明白,所以更要感谢的是你的认真,flyelf(飞翔的精灵??),stl的算法吗?我回去看看手册。  
  microyzy,俺也有同样的困惑,还是知道的东西少阿。  
  最后是laiyining,没什么好说的,你给我解决了这个问题。  
  谢谢诸位  
  结贴。Top

相关问题

  • 字数统计
  • 请问如何统计字数
  • 有没有统计字数的代码
  • 求英语单词字数统计方法。
  • 如何统计中文字数!!!急急急
  • 如何统计多个word文档的字数和,字数等于word工具字数统计字符数不计空格。
  • 通过words.Count得到的字数与打开Word在“字数统计”中的不一样
  • 怎样统计一个文本字段中的字数有多少?
  • 高分相赠:中英文混杂的字符串,如何提取出中文并统计字数呢?
  • 用vc生成的单文档程序要实现统计字数功能怎么做啊?

关键词

  • 字符
  • 中文
  • nelenth
  • 中文字符
  • nclenth
  • ntotallenth
  • lenth
  • cstring
  • format
  • str

得分解答快速导航

  • 帖主:monstersky
  • bohut
  • microyzy
  • laiyiling
  • bobob
  • flyelf

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo