如何将CRichEditCtrl控件中的文本内容保存为文本文件?

解决方案 »

  1.   

    //example for CFile::Open
    CFile f;
    CFileException e;
    char* pFileName = "test.dat";
    if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, &e ) )
       {
    #ifdef _DEBUG
       afxDump << "File could not be opened " << e.m_cause << "\n";
    #endif
       }//A second example for CFile::Open.
    //This console program uses CFile to copy binary files.#include <afx.h>
    #include <afxwin.h>
    #include <iostream>using namespace std;CWinApp theApp;int main(int argc, char *argv[])
    {
       if (!AfxWinInit(GetModuleHandle(NULL), NULL, GetCommandLine(), 0))
       {
          cout << "panic: MFC couldn't initialize!" << endl;
          return 1;
       }   // constructing these file objects doesn't open them   CFile sourceFile;
       CFile destFile;   // see that we have a reasonable number of arguments   if (argc != 3)
       {
          cout << "usage: " << argv[0];
          cout << " <source> <dest>" << endl;
          cout << endl;
          return 1;
       }   // we'll use a CFileException object to get error information   CFileException ex;   // open the source file for reading   if (!sourceFile.Open(argv[1],
          CFile::modeRead | CFile::shareDenyWrite, &ex))
       {
          // complain if an error happened
          // no need to delete the ex object      TCHAR szError[1024];
          ex.GetErrorMessage(szError, 1024);
          cout << "Couldn't open source file: ";
          cout << szError;
          return 1;
       }
       else
       {
          if (!destFile.Open(argv[2], CFile::modeWrite |
                CFile::shareExclusive | CFile::modeCreate, &ex))
          {
             TCHAR szError[1024];
             ex.GetErrorMessage(szError, 1024);
             cout << "Couldn't open source file: ";
             cout << szError;         sourceFile.Close();
             return 1;
          }      BYTE buffer[4096];
          DWORD dwRead;      // Read in 4096-byte blocks,
          // remember how many bytes were actually read,
          // and try to write that many out. This loop ends
          // when there are no more bytes to read.      do
          {
             dwRead = sourceFile.Read(buffer, 4096);
             destFile.Write(buffer, dwRead);
          }
          while (dwRead > 0);      // Close both files      destFile.Close();
          sourceFile.Close();
       }   return 0;
    }
      

  2.   

    //example for CFile::Write
    extern CFile cfile;
    char pbuf[100];
    cfile.Write( pbuf, 100 );
      

  3.   

    我的意思是“将CRichEditCtrl控件中的文本内容保存为文本文件”
      

  4.   

    1)使用cricheditctrl的streamout()函数,不过你需要使用callback函数实现
    2) getWindowText() 取得内容sContent后,建立新文本文件*.txt,把sConten写入到文件中