我在统计中文的时候出现了问题,请各位大神指教一下
#include
#include
using namespace std;
int main()
{
string str;
cout << "请输入一个字符串,以换行为结束!\n";
getline(cin, str);
size_t count = 0;
size_t spaceNum=0;
size_t letter=0;
size_t chineseNum=0;
size_t other=0;
for(size_t i = 0; i < str.size(); i++) //如果变量i 小于等于字符串str长度的时候,就继续循环,反之 循环结束
if(isdigit(str[i])) //判断是否是数字
count++;
else if(isspace(str[i]))//判断是否是空格
++spaceNum;
else if(isalpha(str[i]))//判断是否是字母
++letter;
else if(str[0]>=0xB0)
++chineseNum;
else
++other;
cout<<"字符串所占字节"<<sizeof str<<"\n"<<endl;
cout << "数字的个数为: " << count <<"\n"<< endl;
cout<<"空格的个数是"<<spaceNum<<"\n"<<endl;
cout<<"字母的个数是"<<letter<<"\n"<<endl;
cout<<"其他字符的个数是"<<other<<"\n"<<endl;
cout<<"中文的个数是"<<chineseNum<<"\n"<<endl;
system("pause");
}