MFC中Format函数用法,该怎么处理
MFC中Format函数用法
void CChar_2View::OnDael()
{
CFileDialog dlg(true);
if (dlg.DoModal()==IDOK)
{
CStdioFile file ;
CString filename=dlg.GetPathName();
file.Open(filename,CFile::modeRead);
int i;
CString filedata;
char temp[4][200];
for(i=0;i<4;i++)
{memset(temp,'\0',sizeof(temp));}
//char t1[20];char t2[20];
// memset(t1,'\0',20);
// memset(t2,'\0',20);
for(i=0;i<2;i++)
{
file.ReadString(filedata);
sscanf(filedata,"%s,%s",temp[1],temp[2]);//用字符组也可以运行出来
m_array.Add(CPoint(strtod(temp[1],NULL),strtod(temp[2],NULL)));//用strtod,或者atoi都可以运行出来
}
CString r;
double num;
num=1.161;
r.Format("%.5f %.5f",m_array[1].x,m_array[1].y);
// r.Format("%.5f",num);
MessageBox(r);
// TODO: Add your command handler code here
}
}
不明白的是:Format函数无法对CPoint数组正常的格式化输出(如果是整形的话,可以;但如果是doule的话就不可以,输出的都是0。0000)
菜鸟求教,请大侠指教!!!
------解决方案--------------------
类型转换下 (LONG)strtod(str, NULL)
void CChar_2View::OnDael()
{
CFileDialog dlg(true);
if (dlg.DoModal()==IDOK)
{
CStdioFile file ;
CString filename=dlg.GetPathName();
file.Open(filename,CFile::modeRead);
int i;
CString filedata;
char temp[4][200];
for(i=0;i<4;i++)
{memset(temp,'\0',sizeof(temp));}
//char t1[20];char t2[20];
// memset(t1,'\0',20);
// memset(t2,'\0',20);
for(i=0;i<2;i++)
{
file.ReadString(filedata);
sscanf(filedata,"%s,%s",temp[1],temp[2]);//用字符组也可以运行出来
m_array.Add(CPoint(strtod(temp[1],NULL),strtod(temp[2],NULL)));//用strtod,或者atoi都可以运行出来
}
CString r;
double num;
num=1.161;
r.Format("%.5f %.5f",m_array[1].x,m_array[1].y);
// r.Format("%.5f",num);
MessageBox(r);
// TODO: Add your command handler code here
}
}
不明白的是:Format函数无法对CPoint数组正常的格式化输出(如果是整形的话,可以;但如果是doule的话就不可以,输出的都是0。0000)
菜鸟求教,请大侠指教!!!
------解决方案--------------------
类型转换下 (LONG)strtod(str, NULL)