【文件操作】MFC
CFile file;
CFileException e;
if(file.Open("c:\\1.doc",CFile::modeRead, &e))//没必要抛出异常,可以取一些信息
;
try{
//mode(Create、NoTruncate、Read), share
//type ,CFile不支持Text,它的继承类CStdioFile等 支持。
(nOpenFlags & ~typeText\Binary)在函数内部都会消掉,type跟类走,实际上不用给出
CFile一定是二进制的,CStdioFile一定是文本的
Read Write Flush
Seek(i,CFile::begin) GetLength() GetPosition()
file.Close();
}
catch (CFileException *e) {
file.Abort(); //比Close更安全安静,m_hFile = NULL
//delete *CFile; //if new *CFile
}
GetFilePath GetFileName
lockrange unlock 禁止其它进程写。锁定已锁定的会抛出异常
GetStatus(CFileStatus&)
CFileFind FindFile FindNextFile
CopyFile(); //只能复制文件,而不能复制目录
DeleteFile(); //
CreateDirectory("", NULL); //只能一层一层建,每层有个安全属性
WIN32_FIND_DATA wfd;
HANDLE hFind;
if ((hFind = FindFirstFile("C:\\2", &wfd)) != INVALID_HANDLE_VALUE) {
RemoveDirectory("C:\\2"); //只能删除空目录
}
FindClose(hFind);
MoveFileEx(); //复制文件或目录,同盘符下改变文件目录树,不然copy再删除
目录里的查找:CFileFind 或用 API
GetCurrentDirectory();
GetModuleFileName();
GetTempFileName(); //
CFileFind
FindFile("*.*") FindNextFile();
//获得详细的属性信息
Close();