文件是否存在

来源:互联网 发布:知名软件外包公司 编辑:程序博客网 时间:2024/06/06 02:40
方法一、 

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;
}

   
0 0
原创粉丝点击