CRichEditView如何用StreamIn和StreamOut实现读写txt文件?

解决方案 »

  1.   

    BOOL CMyDialog::PaperIn(CString PathName)
    {
    CFile cFile(PathName, CFile::modeRead);
    EDITSTREAM es; es.dwCookie = (DWORD) &cFile;
    es.pfnCallback = MyStreamInCallback; 
    m_wndEdtPaper.StreamIn(SF_TEXT, es);
    return TRUE;
    }DWORD CALLBACK CMyDialog::MyStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
    {
    CFile* pFile = (CFile*) dwCookie;    *pcb = pFile->Read(pbBuff, cb);    return 0;}
      

  2.   

    这是StreamIn的
    PathName是那个文件的路径
    m_wndEdtPaper是那个edit框的控件变量
      

  3.   

    BOOL CMyDialog::PaperOut(CString PathName)
    {
    CFile cFile(PathName, CFile::modeCreate|CFile::modeWrite);
    EDITSTREAM es;

    es.dwCookie = (DWORD) &cFile;
    es.pfnCallback = MyStreamOutCallback; 
    m_wndEdtPaper.StreamOut(SF_TEXT, es);
    return TRUE;
    }DWORD CALLBACK CMyDialog::MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
    {
    CFile* pFile = (CFile*) dwCookie;

    pFile->Write(pbBuff, cb);
    *pcb = cb;

    return 0;

    }