VC添加打开文件对话框并读取数据

来源:互联网 发布:网络脏话 越毒越好 编辑:程序博客网 时间:2024/04/28 04:40

1.创建打开文件对话框:   
                                CFileDialog dlg(TRUE,//TRUE是创建打开文件对话框,FALSE则创建的是保存文件对话框 
                                 ".txt",//默认的打开文件的类型 
                                 NULL,//默认打开的文件名 
                                 OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,//打开只读文件 
                                "文本文件(*.txt)|*.txt|所有文件 (*.*)|*.*||");//所有可以打开的文件类型 
2.点打开文件对话框上面的确定键后 
                                                if(dlg.DoModal()==IDOK)   
                                                 { 
                                                  CString m_FilePath = dlg.GetPathName();////////取出文件路径 
                                                  CString  m_path; 
                                                 m_path=m_FilePath;//将文件的路径放入m_path 
                                                 UpdateData(FALSE); 
                                                 } 
3.打开文件:File.Open(m_path,CFile::modeRead); 
4.逐行读取文件:CStdioFile File;///可以逐行读文件的类 
                         CString   strLine;     
                         while(File.ReadString(strLine))   //////将每行都放进strLine字符串里 
                         {     
                          AfxMessgeBox(strLine); 
                         }   
5判断读出来的字: 
                          strLine=“1|2|3|”;//要判断的字符串 
                          int strIndex1  = strLine.Find('|');//在字符串中寻找“|” 
                          CString a[11]; 
                          if(-1 != strIndex1)//只要找到“|”就不会返回-1 
                          { 
                           int i=0; 
                               while(  -1 != strIndex1)// 
                               {     
                                   strIndex1 = strLine.Find('|'); 
                                   a[i] = strLine.Left(strIndex1); 
                                  strLine = strLine.Right(strLine.GetLength() - strIndex1-1) ; 
                                   i++; 
                                  if (i > 10)//退出循环 
                                  break; 
                                 } 
                       }


0 0