如果我添加arr(1)= HelloWorld,就可以了!
但是如果我添加arr(1)= Hello,world或Hello_World或Hello World
不会!
我的代码片段附在下面:
void CMFCApplicationFileDlg::OnClickBtnToData()
{
CString dataIn;
m_txtDataInput.GetWindowTextW(dataIn);
int dem = 0;
int check = 0;
CString mangMaHoa[] = { _T("A"), _T("B"), _T("C"), _T("D"), _T("E"), _T("F"), _T("G"), _T("H"), _T("I"), _T("J"), _T("K"), _T("L"), _T("M"), _T("O"), _T("P"), _T("Q"), _T("R"), _T("S"), _T("T"), _T("U"), _T("V"), _T("W"), _T("X"), _T("Y"), _T("Z") };
int num = arr[1].GetLength();
CString mahoa, chuoiSauMaHoa;
for (int i = 0; i < arr[1].GetLength(); i++)
{
mahoa = arr[1].Mid(i, 1);
dem = 0;
check = 0;
for (int j = 0; j < 26; j++)
{
if (mangMaHoa[j].CompareNoCase(mahoa) == 0)
{
check += 1;
if (j >= 23)
{
dem = j + 3;
dem = dem - 26;
}
else
{
dem = j + 3;
}
chuoiSauMaHoa += mangMaHoa[dem];
break;
}
else
{
continue;
}
}
if (check == 0)
{
chuoiSauMaHoa += mahoa;
}
}
m_txtDataOutput.SetWindowTextW(chuoiSauMaHoa);
}
if (check == 0)
{
chuoiSauMaHoa += mahoa;
}
我希望得到所有角色
截屏:
提前致谢!
您在很大程度上依赖于幻数26,该幻数假定为数组mangMaHoa的长度。
但是实际上它的长度为25(您打算省略字母N吗?)
所以外的界失误将要发生特别搜索您的特殊字符时,
,_
和space
。
与其假设您认为数组的大小,不如说应该防御并确定数组的实际大小
size_t alphabet = sizeof(mangMaHoa) / sizeof(mangMaHoa[0]);
并改用结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句