我想以bit为单位对一个文件进行读写,不知道怎么办,看来CFile中有CFile::typeBinary,意思说是设置为二进制方式打开(只用在派生类中),但不知怎么用?我在MFC中新增类,base Class选项中又没有CFile,这可怎么办?

解决方案 »

  1.   

    CFile::typeBinary是设置文件打开类型的,
    不用新增类,
    CFile file;
    file.Read();
      

  2.   

    CFile::typeBinary也可以在CFile的构造函数设置:
    这是msdn的一个例子:char* pFileName = "test.dat";
    TRY
    {
       CFile f( pFileName, CFile::modeCreate | CFile::modeWrite );
    }
    CATCH( CFileException, e )
    {
       #ifdef _DEBUG
          afxDump << "File could not be opened " << e->m_cause << "\n";
       #endif
    }
    END_CATCH
      

  3.   

    看错了,可以自己写的,
    不用向导不就好了.
    CMyfile :public CFile
    {
    };
      

  4.   

    这个问题我弄懂一点了,我们平时用CFile时就是用的二进制读写方式,即系统默认了CFile::typeBinary标志,另外文件的读写还可以用文本方式,比如按行读写,这时可以用
    CStdioFile类,这是CFile的派生类,当使用这个类时又想用二进制读写就得用到CFile::typeBinary标志了。
    但我还是没有弄懂如何以bit为单位进行读写文件,比如只读文件的头两个01代码!
    谢谢支持!
      

  5.   

    无法以bit为单位对一个文件进行读写,你可以读出一个byte,用移位指令操作。