MFC之文件操作

文件写入操作:

void CtFileView::OnFileWrite()
{
    // TODO: 在此添加命令处理程序代码
    //写入以ANSI字符写入,
    //FILE *pFile = fopen("1.txt","w");
    ////fwrite("写入测试",1,strlen("写入测试"),pFile);
    //fwrite("this is a test!",1,strlen("this is a test!"),pFile);
    ////fseek(pFile,0,SEEK_SET);
    ////fwrite(" ftp:",1,strlen("ftp:"),pFile);
    //fflush(pFile);    
    //fclose(pFile);

    //CFile
    /*CFile file(_T("1.txt"), CFile::modeCreate | CFile::modeWrite);
    file.Write("写入测试", strlen("写入测试"));
    file.Close();*/

    CFileDialog fileDlg(FALSE);
    //fileDlg.DoModal();
    fileDlg.m_ofn.lpstrTitle=_T("保存文档");
    fileDlg.m_ofn.lpstrFilter=_T("Text File(*.txt)\0*.txt\0All File(*.*)\0*.*\0\0");
    fileDlg.m_ofn.lpstrDefExt=_T("txt");
    if (IDOK==fileDlg.DoModal())
    {
        CFile file(fileDlg.GetFileName(),CFile::modeCreate | CFile::modeWrite);
        file.Write("http://www.wwgupiao.com",strlen("http://www.wwgupiao.com"));
        file.Close();
    }
}

文件读取操作:

void CtFileView::OnFileRead()
{
    // TODO: 在此添加命令处理程序代码
    //CFile 
    /*CFile file(_T("1.txt"),CFile::modeRead);
    char buf[100];
    TCHAR wbuf[100] = {0};
    memset(buf,0,100);
    DWORD fileLen=file.GetLength();
    file.Read(buf,fileLen);
    MultiByteToWideChar(CP_ACP, 0, buf, -1, wbuf, sizeof(wbuf));
    file.Close();
    MessageBox(wbuf);*/


    
    CFileDialog fileDlg(TRUE);
    //fileDlg.DoModal();
    fileDlg.m_ofn.lpstrTitle=_T("打开文档");
    fileDlg.m_ofn.lpstrFilter=_T("Text File(*.txt)\0*.txt\0All File(*.*)\0*.*\0\0");
    fileDlg.m_ofn.lpstrDefExt=_T("txt");
    if (IDOK==fileDlg.DoModal())
    {
        CFile file(fileDlg.GetFileName(),CFile::modeRead);

        /*char buf[10000];
        WCHAR wbuf[10000] = {0};
        memset(buf,0,10000);
        DWORD fileLen=file.GetLength();
        file.Read(buf,fileLen);
        file.Close();
        MultiByteToWideChar(CP_ACP, 0, buf, -1, wbuf, sizeof(wbuf));
        MessageBox(wbuf);*/

        //第二种

        char *pBuf;
        ULONGLONG fileLen = file.GetLength();
        pBuf = new char[fileLen+1];
        pBuf[fileLen] = 0;
        file.Read(pBuf, fileLen);
        file.Close();
        CString result(pBuf);
        MessageBox(result);
    }
}
posted @ 2012-08-06 10:40  lmy4710  阅读(116)  评论(0)    收藏  举报