文件的读取和存放

来源:互联网 发布:宝贝标题怎样优化排名 编辑:程序博客网 时间:2024/05/16 08:46

最近用到文件的读取,所以看了下相关的内容。文件的读写对话框CFileDialog,读取文件的内容有类CStdioFile.ReadString(&str);然后再对str进行处理。我用到的是需要对文件的内容读取,然后分离。就可以用到CString里面的Find(),left(),Right()函数,最后对分离的字符串进行转化就可以得到想要的内容了

 

在日常编程中我们经常需要读写TXT格式的文本文件,本人通过上网查找资料,结合自己的编程经验,给出一个简单的处理方法,写出来供大家参考,写的不对的地方希望大家批评指正。
我主要是利用了CStdioFile类的直接读取字符串的特点,大大简化程序的开发。要调用CStdioFile类需要在程序中加载afx.h库文件。

一。 用VC6.0生成基于对话框的程序ReadTxT工程。

二。添加两个按钮“Open File”和 “Save File”。一个CLisiBox列表框。

三。为两个按钮添加消息相应函数,程序如下:

void CReadTXTTestDlg::OnOpenFile()

{

    CFileDialog FileDlg(true, _T("txt"),   NULL,   OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, 

                                        "文本文件     (*.TXT)|*.TXT|All Files(*.*)|*.*||");   

    if( FileDlg.DoModal() == IDOK )

     {   

            CString fileName;   fileName = FileDlg.GetFileName();

            CStdioFile file; 

            file.Open(fileName,CFile::modeRead,0);    

            CListBox *pList = (CListBox *)GetDlgItem(IDC_EDIT);  

            pList->ResetContent();   

            CString str;

            while(file.ReadString(str))  

            {        

                  pList->AddString(str);  

             }    

             file.Close(); 

        }

}

void CReadTXTTestDlg::OnSaveFile()

{

        CFileDialog FileDlg(false,   _T("txt"),   NULL,   OFN_FILEMUSTEXIST|OFN_HIDEREADONLY, 

                                        "文本文件(*.TXT)|*.TXT|All Files(*.*)|*.*||");   

        if( FileDlg.DoModal() == IDOK )

        {    

              CString fileName;  

              fileName = FileDlg.GetFileName();     

              CStdioFile file;  

              file.Open(fileName,CFile::modeCreate | CFile::modeWrite); 

             CListBox *pList = (CListBox *)GetDlgItem(IDC_EDIT);  

             CString str;  

             int size = pList->GetCount();     

             for(int i=0; i<size;i++) 

             {   

                        int n = pList->GetTextLen(i);   

                        pList->GetText(i, str.GetBuffer(n));   

                       file.WriteString(str);  

                        file.WriteString("/n");  

             }     

             file.Close(); 

       } 

}

四。编译执行.

 点击“OpenFile”按钮可实现TXT文件的加载。

 点击“SaveFile”按钮可实现TXT文件的存储加载。

此程序在WINXP平台,VC6.0编译系统调试通过。