C++ 编辑框中输入8位二进制数据 出现的问题~!!急求~~!!
C++编辑框中输入8位二进制数据出现的问题~!!急求~~!!我想在编辑框中输入8位二进制数据,我先把输入编辑框的CString型变为long型,再从LONG型变位int[...
C++ 编辑框中输入8位二进制数据 出现的问题~!!急求~~!!
我想在编辑框中输入8位二进制数据,我先把输入编辑框的CString型变为long型,再从LONG型变位int[]数组。然后判断int[]里面的变量是否为0或者1。从LONG型变为INT[]我写了一个小的子函数。这一段代码语法是没有什么错误,可是却无法实现功能,运行的时候程序就报错关闭了。请各位看看我写的这一段代码:
void CShowdlg2::Onstart1()
{
CString str1;
int dat1[8],i;
m_Edit1.GetWindowText(str1);
iwlength[0]=8;
CH375OpenDevice2(0);
long dat=atol(str1.GetBuffer(8)); //CString转为Long
str1.ReleaseBuffer(8);
dat1[8]=CShowdlg2::LoToInt(dat); //调用LONG转为INT[]的函数,输入值为dat,输出值为ii[8]
for (i=0;i<8;i++)
{
int*pvar=dat1; //将dat1赋予指针pvar
if (*pvar>1)
{
MessageBox("输入错误!");
pvar=pvar+1;
}
}
}
int CShowdlg2::LoToInt(LONG dat) //long转为int[]的子函数
{
int ii[8],i;
for(i=0;i<8;i++)
{
ii[i]=dat%2;
dat=dat/10;
}
return ii[8];
} 展开
我想在编辑框中输入8位二进制数据,我先把输入编辑框的CString型变为long型,再从LONG型变位int[]数组。然后判断int[]里面的变量是否为0或者1。从LONG型变为INT[]我写了一个小的子函数。这一段代码语法是没有什么错误,可是却无法实现功能,运行的时候程序就报错关闭了。请各位看看我写的这一段代码:
void CShowdlg2::Onstart1()
{
CString str1;
int dat1[8],i;
m_Edit1.GetWindowText(str1);
iwlength[0]=8;
CH375OpenDevice2(0);
long dat=atol(str1.GetBuffer(8)); //CString转为Long
str1.ReleaseBuffer(8);
dat1[8]=CShowdlg2::LoToInt(dat); //调用LONG转为INT[]的函数,输入值为dat,输出值为ii[8]
for (i=0;i<8;i++)
{
int*pvar=dat1; //将dat1赋予指针pvar
if (*pvar>1)
{
MessageBox("输入错误!");
pvar=pvar+1;
}
}
}
int CShowdlg2::LoToInt(LONG dat) //long转为int[]的子函数
{
int ii[8],i;
for(i=0;i<8;i++)
{
ii[i]=dat%2;
dat=dat/10;
}
return ii[8];
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询