方法一、
POFSTRUCT lpOpenBuf=new OFSTRUCT;
HFILE hFile=OpenFile(strFileName,lpOpenBuf,OF_EXIST);
if(hFile!=HFILE_ERROR)
{
// file exist.
}
方法二、
#include
CString m_Edit=“f://test.txt”;//从Edit得到的字符串
ifstream infile(m_Edit);
if(!infile)
{
AfxMessageBox( "该文件不存在 ");
}
方法三、
char *lpszStr= "C:/WINDOWS/system32/MSCAL.OCX ";
PathFileExists(lpszStr);
方法四、
FILE *fp=NULL;
fp = fopen( "C:/WINDOWS/system32/MSCAL.OCX ", "r " );
if( fp != NULL )
{
MessageBox(NULL, "这个文件已经存在! ", "Tips ", MB_OK );
return ;
}
方法五、
HANDLE hFind;
WIN32_FIND_DATA dataFind;
BOOL bMoreFiles = TRUE;
//Find the first file in the main directory
hFind = FindFirstFile(TEXT( "C://WINDOWS//system32//MSCAL.OCX "),&dataFind);
if(hFind) //若存在,则hFind == TRUE
{
}
else
{
}
FindClose(hFind);
方法六、
CString strPath( "C://a.txt ");
HANDLE hFile = NULL;
hFile= CreateFile(
strPath,
GENERIC_ALL,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,//判定文件是否存在 FILE_ATTRIBUTE_NORMAL,
NULL);
DWORD dwErr = GetLastError();
if (dwErr == ERROR_FILE_NOT_FOUND)
{
AfxMessageBox( "FILE_NOT_FOUND ");
}
if (hFile)
CloseHandle(hFile);
方法七、
CFileFind find;
int result=find.FindFile( "C://aaa.txt ");
if(result==0)
{
AfxMessageBox( "文件不存在 ");
}
else
{
AfxMessageBox( "文件存在 ");
}
、_access函数
2、CreateFile函数
3、FindFirstFile函数
4、GetFileAttributes函数
一、使用_aceess函数:
使用_access函数判断文件是否存在是比较简单的方法,_access方法是在头文件<io.h>中的,在使用之前要加入这个头文件,现在来看一下_access函数的形式:
int _access( const char *path, int mode );
参数path:是所要判断状态的文件名。
参数mode:是判断文件状态的标志。
参数mode有以下几种形式:
00:表示判断文件是否存在
02:表示判断文件是否可写
04:表示判断文件是否可读
06:表示判断文件是否又可读又可写
好了,下面举一个小例子来看一下这个函数的使用,代码如下:
BOOL CMyFileDlg::CheckFile(char * file) { bool r = false;
if (_access(file, 0) != -1) { r = true; }
return r; }
转载请注明原文地址: https://ju.6miu.com/read-1309788.html