8 Aug 2013

C++判断文件路径是否存在

收藏到CSDN网摘


需要在c++程序中判断文件或者路径是否存在,常用的办法有

对于文件,可以尝试用read模式打开一次,如果打开成功,则存在,否则失败.对于文件夹,则需要sys/stat.h这个头文件,然后用下面的代码判断
// _stat struct
 struct _stat filestat;

 // check the status, OK, return true
 if ((_stat(pname, &filestat) == 0) && (filestat.st_mode & _S_IFDIR))
  return true;
 else // doesn't exist, return false
  return false;
最简单的办法还是引用io.h这个头文件,然后可以同时判断文件或者文件夹
return (_access(filename,0)==0);
这里_access第二个参数是探测模式,含义如下:

00 Existence only
02 Write-only
04 Read-only
06 Read and write

如果待检测文件/路径含有探测模式,返回0; 否则返回-1.

1 comment :