在对话框中设置了一个按钮m1,点击它来打开文件并调用文件里面的数据
void CMy0001Dlg::OnM1() 
{
// TODO: Add your control notification handler code here
CFileDialog dlgFileOpen(TRUE);
if(dlgFileOpen.DoModal()==IDOK) 
{
UpdateData();
。想把打开的文件(txt)数据赋给数组然后用于以后调用
}}MSDN上说用m_ofn这个OPENFILENAME结构,不是很明白。用fopen()的话不知道如何写
请大虾赐教

解决方案 »

  1.   

    CFile file
    file.open();
    file.read
    file.close();
      

  2.   


    if(dlgFileOpen.DoModal()==IDOK) 

    UpdateData(); CFile file;
    if ( file.Open(dlgFileOpen.GetPathName(),CFile::modeRead ) 
    {
             file.Read....讀取過程你自己控制
             file.Close();

      

  3.   

    CFileDialog cFileDlg(TRUE, _T( "txt "),(LPCTSTR)NULL,   
    OFN_ENABLESIZING|OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_LONGNAMES|
    OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_CREATEPROMPT,
    _T( "Text   Files   (*.txt)|*.txt|All   Files   (*.*)|*.*| "),this);  //获得要打开的文件 
    if(cFileDlg.DoModal()!=IDOK)

    return; 
    }  //定义文件对象,并只读打开指定文件 
    CFile file(cFileDlg.GetPathName(),CFile::modeRead/*|CFile::modeWrite*/);  //准备文件大小的缓冲区 
    CString strTxt; 
    char *pBuf=strTxt.GetBuffer(file.GetLength());  //读入整个文件 
    file.Read(pBuf,file.GetLength()); 
    strTxt.ReleaseBuffer(file.GetLength());  //将文件内容设置到某编辑框。 
    m_MyEdit.SetWindowText(strTxt);
    GetDlgItem(IDC_EDIT_CONTENT)->EnableWindow(TRUE);
    m_FlagHistory = FALSE;