首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家帮小弟我看一个小异常,小弟我是新手(急用的。拜托大家了)

2012-02-05 
大家帮我看一个小错误,我是新手(急用的。。。拜托大家了)CStringcode[16]{ ad , eh , im , np , ru

大家帮我看一个小错误,我是新手(急用的。。。拜托大家了)
CString   code[16]={ "ad ", "eh ", "im ", "np ", "ru ", "vy ", "zc ", "gk ",
"pt ", "xb ", "fj ", "ox ", "wa ", "ei ", "nr ", "qu "};
CString   reg,stred;
int   num;
GetDlgItem(IDC_EDIT1)-> GetWindowText(stred);
stred.MakeLower();
for(int   i=0;i <8;i++)
{
char   p=stred.GetAt(i);
if(p> = '0 '&&p <= '9 ')
num=p- '0 ';
else   if(p> = 'a '&&p <= 'm ')
num=p- 'a ';
else
num=p- 'n ';
CString   tmp=code[num];
reg+=tmp;
}

reg.MakeUpper();
GetDlgItem(IDC_EDIT1)-> SetWindowText(reg.Mid(0,7));

[解决办法]
报什么错?
具体是什么问题?
[解决办法]
int i=0;i <8;i++
你能确定你的stred长度一定是大于或等于8?如果不能,下面的GetAt就会越界访问……
[解决办法]
而且如果stred里面有即不是字母也不是数字的字符,那么num就会是未初始化的值,code[num]也会越界访问。

热点排行