cstring类型字符串转换问题
用mfc做计算器有一步将输入的式子各项系数和指数存入数组
类似这样:-5x^3+4x^2-13x^12
输入框的类型是cstring
下面是部分代码
void CmmDlg::OnBnClickedButton1()
{
UpdateData(0);// TODO: 在此添加控件通知处理程序代码
int zhishu[20];
double xishu[20];
double xishu1=0;
int zhishu1=0;
int i=0;
int a=0;
int m=0,m1=0;
int n=0,k=0;
CString hr;
for(;m_shuru1.GetAt(a)!='=';)
{m=m_shuru1.Find('-');
n=m_shuru1.Find('x');
hr=m_shuru1.Mid(m+1,n-m-1);
xishu1=atof(LPCTSTR(hr));
if(n>m)
xishu[i]=0-xishu1;
else
xishu[i]=xishu1;
m_shuru1.Delete(0,n);
k=m_shuru1.GetAt(0);
if(k=='^')
{
m=m_shuru1.Find('-');
m1=m_shuru1.Find('+');
if(m1>m)
{hr=m_shuru1.Mid(0,m-1);
m_shuru1.Delete(0,m-1);}
else {hr=m_shuru1.Mid(0,m1-1);
m_shuru1.Delete(0,m1-1);}
zhishu1=atoi(LPCTSTR(hr));
zhishu[i]=zhishu1;
}
else zhishu[i]=1;
i++;
m=1;}
取数的方法挺乱的=。=估计问题很多
主要是这个报错
“atoi”: 不能将参数 1 从“LPCTSTR”转换为“const char *”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
求指点应该怎么改