我正在尝试使用C ++验证目录。
http://php.net/manual/en/function.is-readable.php
bool is_readable(string $ filename)
判断文件(或directroy)是否存在且可读。
C ++中的上述内容是什么?
我已经在使用boost / filesystem库来检查目录是否存在。
我查了一下文件:
http://www.boost.org/doc/libs/1_44_0/libs/filesystem/v3/doc/index.htm
但我找不到相应的PHP的is_readable()。
如果使用boost / filesystem库是不可能的,你会使用什么方法?
答案 0 :(得分:4)
大多数操作系统都提供stat()。
答案 1 :(得分:4)
由于您已经标记了问题“Linux”,因此有一个POSIX函数可以检查当前进程的用户是否可读/可写/可执行文件。请参阅man 2 access
。
int access(const char *pathname, int mode);
例如,
if (-1 == access("/file", R_OK))
{
perror("/file is not readable");
}
或者,如果您需要可移植性,请尝试实际打开文件进行阅读(例如std::ifstream
)。如果成功,则该文件是可读的。同样,对于目录,使用boost::filesystem::directory_iterator
,如果成功,则目录可读。