标签:ffffff hwnd int 判断 display lse 读文件 pos else
当打开一个不存在的文件名,那会导致读文件出现错误,导致程序崩溃。
为了避免类似问题,我们需要进行判断:
//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.
标签:ffffff hwnd int 判断 display lse 读文件 pos else
原文地址:https://www.cnblogs.com/lumao1122-Milolu/p/13254115.html