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;
zurückkehren;
}
WideCharToMultiByte(CP_ACP, 0, szTxt, -1, szTemp, nLen, NULL, FALSE);
CStringA strTxt=szTemp;
delete[]szTemp;
//Länge der Zeichenfolge in Bytes abrufen
int Lenth = strTxt.GetLength();
int nELenth = 0; //Anzahl der englischen Zeichen
int nCLenth = 0; //Anzahl der chinesischen Zeichen
int nNLenth = 0 ; //Anzahl der Zeichen
int nOLenth = 0; //Anzahl der anderen Zeichen
int nTotalLenth = 0;//Gesamtzahl der Zeichen
for(int i=0;i<Lenth;i++)
{
char c = strTxt.GetAt(i );
//Es ist ein chinesisches Zeichen. Chinesischer Zeichencode 1XXX XXXX 1XXX XXXX
if(c<0||c>255)
continue;
//Es ist ein englisches Zeichen
else if((c>='A'&&c<=' Z')||( c>='a'&&c<='z'))
nELenth++;
sonst if(c>='0'&&c<='9')
nNLenth++;
anders
nOLenth++;
}
// Berechnen Sie die Anzahl der chinesischen Zeichen. Jedes chinesische Zeichen belegt zwei Bytes
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;
zurückkehren;
}
WideCharToMultiByte(CP_ACP, 0, szTxt, -1, szTemp, nLen, NULL, FALSE);
CStringA strTxt=szTemp;
delete[]szTemp;
//Länge der Zeichenfolge in Bytes abrufen
int Lenth = strTxt.GetLength();
int nELenth = 0; //Anzahl der englischen Zeichen
int nCLenth = 0; //Anzahl der chinesischen Zeichen
int nNLenth = 0 ; //Anzahl der Zeichen
int nOLenth = 0; //Anzahl der anderen Zeichen
int nTotalLenth = 0;//Gesamtzahl der Zeichen
for(int i=0;i<Lenth;i++)
{
char c = strTxt.GetAt(i );
//Es ist ein chinesisches Zeichen. Chinesischer Zeichencode 1XXX XXXX 1XXX XXXX
if(c<0||c>255)
continue;
//Es ist ein englisches Zeichen
else if((c>='A'&&c<=' Z')||( c>='a'&&c<='z'))
nELenth++;
sonst if(c>='0'&&c<='9')
nNLenth++;
anders
nOLenth++;
}
// Berechnen Sie die Anzahl der chinesischen Zeichen. Jedes chinesische Zeichen belegt zwei Bytes
nCLenth = (Lenth-nELenth-nNLenth-nOLenth)/2;
nChinese=nCLenth;
nEnlish=nELenth;
nNumber=nNLenth;
nOther=nOLenth;
}