int main()
{
string str("山丘之王");
if(isdigit(str.at(0))||isalpha(str.at(0)))
{
cout << "对,就是这样" << endl;
}
system("pause");
return 0;
}
运行到if时,跳出错误:
Expression: (unsigned)(c+1) <=256
解决办法列出两种:
1.换成MBCS函数来做判断:
if(_ismbcalnum(str.at(0))||_ismbcalpha(str.at(0)))
2.设置中文环境:
setlocale( LC_CTYPE, "chs" );
int main()
{
setlocale( LC_CTYPE, "chs" ); //②
string str("山丘之王");
if(_ismbcalnum(str.at(0))||_ismbcalpha(str.at(0))) //①
{
cout << "对,就是这样" << endl;
}
system("pause");
return 0;
}