+ -
当前位置:首页 → 问答吧 → expression unsigned(c+1)< 256 error ,求解决方法....

expression unsigned(c+1)< 256 error ,求解决方法....

时间:2011-11-29

来源:互联网

#include<fstream>
#include<iostream>
#include<string>
#include<cctype>
using namespace std;

void count(char k);
long amount[27]; //统计数据存放
int main()
{
string name, tem;
cin>>name;
ifstream in(name.c_str(), ios::in);
if(in)
while(getline(in, tem)){
for(string::size_type iter = 0; iter != tem.size(); iter++){
tem[iter] = tolower(tem[iter]);
count(tem[iter]);
}
}
for(int iter = 0, l_iter = 97; iter != 27; iter++, l_iter++){
if(iter != 26)
cout.put(l_iter)<<"出现的次数为: "<<amount[iter]<<endl;
else
cout<<"标点符号出现的次数为: "<<amount[iter]<<endl;
}



}

void count(char k)
{
switch(k){
case 'a':
++amount[0];
break;
case 'b':
++amount[1];
break;
case 'c':
++amount[2];
break;
case 'd':
++amount[3];
break;
case 'e':
++amount[4];
break;
case 'f':
++amount[5];
break;
case 'g':
++amount[6];
break;
case 'h':
++amount[7];
break;
case 'i':
++amount[8];
break;
case 'j':
++amount[9];
break;
case 'k':
++amount[10];
break;
case 'l':
++amount[11];
break;
case 'm':
++amount[12];
break;
case 'n':
++amount[13];
break;
case 'o':
++amount[14];
break;
case 'p':
++amount[15];
break;
case 'q':
++amount[16];
break;
case 'r':
++amount[17];
break;
case 's':
++amount[18];
break;
case 't':
++amount[19];
break;
case 'u':
++amount[20];
break;
case 'v':
++amount[21];
break;
case 'w':
++amount[22];
break;
case 'x':
++amount[23];
break;
case 'y':
++amount[24];
break;
case 'z':
++amount[25];
break;
default:
if(isgraph(k))
++amount[26];
}
}





当读入文件比较大的时侯,会出现expression unsigned(c+1)< 256 error,求解决方案..
谢谢!!

作者: ionllovfre   发布时间: 2011-11-29

传给函数count()的值大于了0xfe.

作者: lengxujun   发布时间: 2011-11-29