折腾了好长时间,求助了网友,终于顺利将txt中double数据逐个读出,然后进行数据的小波处理。
CStdioFile fFile;
CString m_str;
CString readline; //保存文本中有几行数据
CString content; //文本内容
CString D_num[MAX_PATH]; //保存double到cstring数组
CString str_line[MAX_PATH]; //读取每行内容
int line=0;
double t[83]; //我的文档正好有83个数据
CFileDialog dlg(TRUE, ".txt ", NULL, 0, "Text Files (*.txt)|*.txt|All Files(*.*)|*.*|| ");
if (dlg.DoModal() == IDOK)
{
m_str = dlg.GetPathName();
}
if(!fFile.Open(m_str,CFile::modeRead) )
{
AfxMessageBox("open file fail.");
return;
}
while(fFile.ReadString (readline))
{
content+=readline;
content+="\r\n";
line++;
}
for(int i=0;i<line;i++)
{
AfxExtractSubString(str_line[i],content,i,'\n');
for(int j=0;j<83;j++)
{
AfxExtractSubString(D_num[j],str_line[i],j,',');
t[j]=atof(D_num[j]);
}
}
fFile.Close;
初学MFC,这里使用断点可以比较方便找到自己的出错之处。