文件是否存在

    xiaoxiao2026-05-17  6

    方法一、  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
    最新回复(0)