私は、特定のディレクトリが存在するかどうかを確認する必要があるという要件があります。私はこのディレクトリパスのstat()が失敗したときにstat()属性を解釈するとどうなりますか?
structure stat buf;
stat(dir_path,buf);
if(S_ISDIR(buf.st_mode))
cout << " its a directory " << endl;
else
cout << " its not a directory " << endl;
のように、この手順をやっている
は時々機能していません。出力は私にとって一貫していません。
stat()呼び出しが失敗したときにS_ISDIR()を実行すべきではないですか?
何ランダム行動私はここで見ていますがあるので
..ディレクトリ・パスのためのSTAT()が失敗した後、私はS_ISDIR
ので(buf.st_mode)、今このS_ISDIRは()であるしようとしています正しく動作しないことがあります。なぜこのようなことが起こっているのですか?何か案が ?
'structure'がCで有効なキーワードではありません++ 。実際のコードを[MCVE]として投稿してください! –
'if(stat(dir_path、buf)== 0 && S_ISDIR(buf.st_mode))'? –
@BoPersson:それ以外の理由で 'stat'が失敗したときには' 'ディレクトリではありません ''を得ることができます。良くない。 –