我寫一個函數來決定它是否是一個文件或不是,請參閱下面的代碼:決定它是否是文件的非確定性行爲?
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 *'的文件。 –