CArchive 和 CFile 都是MFC的类, 头文件afx.h 定义的.MFC用头带C的作类. 你自己也可以写自己的类,愿意用C打头也可以.
CFile直接同磁盘文件打交道,直接读写,无缓冲存储.
CArchive可以做比CFile更多的事.建CArchive对象前必须先建CFile对象,CArchive要用到CFile对象.
将保存于文件中的short数据保存到short数组,就是打开磁盘文件,读入数据. CFile支持直接binary读写,间接text读写.
我觉得用CArchive方便. 如果你只读写二进制文件,用CFile也可以.
CFile file;
file.Open(path(文件路径),CFile::modeRead|CFile::typeBinary(打开方式));
CArchive ar(&file,CArchive::load|CArchive::bNoFlushOnDelete);//构造CArchive对象
CArchiveStream astm(&ar);//构造CArchiveStream对象 用于读取文件数据流
//比如用于载入图像数据
OleLoadPicture((IStream*)&astm,0,FALSE,IID_IPicture,(void**)&m_pPict(IPicture指针));
CFile直接同磁盘文件打交道,直接读写,无缓冲存储.
CArchive可以做比CFile更多的事.建CArchive对象前必须先建CFile对象,CArchive要用到CFile对象.
将保存于文件中的short数据保存到short数组,就是打开磁盘文件,读入数据. CFile支持直接binary读写,间接text读写.
我觉得用CArchive方便. 如果你只读写二进制文件,用CFile也可以.
CFile file;
file.Open(path(文件路径),CFile::modeRead|CFile::typeBinary(打开方式));
CArchive ar(&file,CArchive::load|CArchive::bNoFlushOnDelete);//构造CArchive对象
CArchiveStream astm(&ar);//构造CArchiveStream对象 用于读取文件数据流
//比如用于载入图像数据
OleLoadPicture((IStream*)&astm,0,FALSE,IID_IPicture,(void**)&m_pPict(IPicture指针));