我写一个函数来决定它是否是一个文件或不是,请参阅下面的代码:决定它是否是文件的非确定性行为?
bool isfile(const std::string & f) {
struct stat st;
stat(f.c_str(), & st);
if(S_ISREG(st.st_mode)) {
return true;
}
return false;
}
但是当我调用该函数:
std::cout << isfile("/home/xxx/a*") << std::endl;
在/home/xxx/
,也有一些A0 ,a1 ...和其他文件。
奇怪的问题是,它会打印0
大多但有时打印1
,我不知道这是用函数的问题。
喜,可以将参数'pathname'在'stat'支持'/家庭/ A *'格式? – xunzhang
当然,这将检查名为'/ home/a *'的文件。 –