file.open异常处理
Posted lumao1122-milolu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了file.open异常处理相关的知识,希望对你有一定的参考价值。
当打开一个不存在的文件名,那会导致读文件出现错误,导致程序崩溃。
为了避免类似问题,我们需要进行判断:
//open file CFile file; file.Open("ReadMe.txt", CFile::modeRead,NULL);//open the file
文件打开返回是文件句柄,所以我们不能判断file对象是否存在而是判断句柄是否存在;
if ((int)file.m_hFile > 0) { while (file.Read(szbuf, 200)) { n = 0; while (szbuf[n]) { InforBuf[index++] = szbuf[n++]; } memset(szbuf, 0, 201); } file.Close(); InforBuf[index] = 0; CString str = InforBuf; pt->str = str; } else { pt->str = _T("Can‘t open ReadMe.txt file."); }
file.m_hFile 返回值为0xFFFFFFFF,为异常。
//open file CFile file; file.Open("ReadMe.txt", CFile::modeRead,NULL);//open the file if ((int)file.m_hFile > 0) { while (file.Read(szbuf, 200)) { n = 0; while (szbuf[n]) { InforBuf[index++] = szbuf[n++]; } memset(szbuf, 0, 201); } file.Close(); InforBuf[index] = 0; CString str = InforBuf; pt->str = str; } else { pt->str = _T("Can‘t open ReadMe.txt file."); } ::PostMessage(pt->hwnd, WM_RESPONSE, NULL, (LPARAM)pt); Sleep(100); return 0;
谢谢.
End.
以上是关于file.open异常处理的主要内容,如果未能解决你的问题,请参考以下文章