Linux 12.04では、次の場所に実行可能ファイルがあります。
/a/b/exe
そして設定ファイル
/a/b/config
するとき:
cd /a/b/
./exe
すべて問題なく、stat 関数は /a/b/ でファイル構成を見つけます
ただし、ルートから実行する場合
/a/b/exe
統計は構成ファイルを見つけられません
理由はありますか?
exeのフォルダーから実行されていないスクリプトを使用してバイナリを実行することはできません。
編集
呼び出しは次のようになります。
struct stat stFileInfo;
bool blnReturn;
int intStat;
// Attempt to get the file attributes
intStat = stat(strFilename.c_str(),&stFileInfo);
if(intStat == 0) {
// We were able to get the file attributes
// so the file obviously exists.
blnReturn = true;
} else {
// We were not able to get the file attributes.
// This may mean that we don't have permission to
// access the folder which contains this file. If you
// need to do that level of checking, lookup the
// return values of stat which will give you
// more details on why stat failed.
blnReturn = false;
}