VC判断一个UNICODE字符串中字母、数字、汉字、其他字符的个数
来源:互联网 发布:隔音窗 知乎 编辑:程序博客网 时间:2024/04/27 20:59
void GetCharacterNumber(LPCTSTR szTxt,int &nChinese,int &nEnlish,int &nNumber,int &nOther)
{
int nLen = WideCharToMultiByte(CP_ACP, 0, szTxt, -1, NULL, 0, NULL, FALSE);
char *szTemp = new char[nLen];
if (!szTemp)
{
delete[]szTemp;
return;
}
WideCharToMultiByte(CP_ACP, 0, szTxt, -1, szTemp, nLen, NULL, FALSE);
CStringA strTxt=szTemp;
delete[]szTemp;
//获得字符串按字节数计算的长度
int Lenth = strTxt.GetLength();
int nELenth = 0; //英文字符数
int nCLenth = 0; //中文字符数
int nNLenth = 0; //数字字符数
int nOLenth = 0; //其他字符数
int nTotalLenth = 0;//总共字符数
for(int i=0;i<Lenth;i++)
{
char c = strTxt.GetAt(i);
//是中文字符 中文字符编码 1XXX XXXX 1XXX XXXX
if(c<0||c>255)
continue;
//是英文字符
else if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
nELenth ++;
else if(c>='0'&&c<='9')
nNLenth++;
else
nOLenth++;
}
//计算中文字符数,每个中文字符占两个字节
nCLenth = (Lenth-nELenth-nNLenth-nOLenth)/2;
nChinese=nCLenth;
nEnlish=nELenth;
nNumber=nNLenth;
nOther=nOLenth;
}
{
int nLen = WideCharToMultiByte(CP_ACP, 0, szTxt, -1, NULL, 0, NULL, FALSE);
char *szTemp = new char[nLen];
if (!szTemp)
{
delete[]szTemp;
return;
}
WideCharToMultiByte(CP_ACP, 0, szTxt, -1, szTemp, nLen, NULL, FALSE);
CStringA strTxt=szTemp;
delete[]szTemp;
//获得字符串按字节数计算的长度
int Lenth = strTxt.GetLength();
int nELenth = 0; //英文字符数
int nCLenth = 0; //中文字符数
int nNLenth = 0; //数字字符数
int nOLenth = 0; //其他字符数
int nTotalLenth = 0;//总共字符数
for(int i=0;i<Lenth;i++)
{
char c = strTxt.GetAt(i);
//是中文字符 中文字符编码 1XXX XXXX 1XXX XXXX
if(c<0||c>255)
continue;
//是英文字符
else if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
nELenth ++;
else if(c>='0'&&c<='9')
nNLenth++;
else
nOLenth++;
}
//计算中文字符数,每个中文字符占两个字节
nCLenth = (Lenth-nELenth-nNLenth-nOLenth)/2;
nChinese=nCLenth;
nEnlish=nELenth;
nNumber=nNLenth;
nOther=nOLenth;
}
阅读全文
0 0
- VC判断一个UNICODE字符串中字母、数字、汉字、其他字符的个数
- 输入一段字符,判断字符串中字母的个数,数字的个数和其他字符个数
- 1.2输入一个字符串,判断其中字母、数字、其他字符的个数
- 在一个字符串中找空格的个数,字母的个数,数字的个数,和其他字符的个数
- 统计一个字符串中数字、字母、空格和其他字符的个数
- 判断一个字符串中数字,字符,空格和其他字符的个数
- VC 判断CString字符串中各位是数字,大小写字母,符号,汉字。(UNICODE和ANSI)
- VC 判断CString字符串中各位是数字,大小写字母,符号,汉字。(UNICODE和ANSI)
- VC++中如何判断一个字符串中汉字的个数
- java 判断字符串中 大小写字母 数字和其他字符个数方法
- 输入一个字符串,编写函数统计该字符串中的字母、数字和其他字符的个数;
- 计算一个字符串里数字、汉字、字母的个数
- Ex7_4编写函数,统计此字符串中字母、数字、空格和其他字符的个数
- 统计字符串中字母,数字,空格以及其他字符的个数。
- java 判断一个字符中字母数字个数
- 8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出结果。(改)
- 在一个字符串中,统计大写字母个数,小写字母个数,其他字符个数的四种算法
- C# 上机题 写一个静态方法,输出字符串中大小写字母、数字和其他字符个数
- 洞藏酒,心如兰酒!素心如兰,酒如琼露
- myeclipse运行时:Exception in thread "http-apr-8080-exec-2"
- mysql master slave 配置
- 回调函数和钩子函数
- [My SQL] 使用视图
- VC判断一个UNICODE字符串中字母、数字、汉字、其他字符的个数
- 有几个PAT(PAT-1040)
- if __name__ == '__main__': 原理
- html标签速记
- 深入理解Java Proxy机制
- WPF(MVVM) 热键快捷键设置
- MyBatis Generator(MBG)其他参考信息
- saltstack详细安装教程
- 三次握手和四次握手连接