ファイルが存在するかどうかをチェックする次のプログラムを実行していますstat()
. しかし、パスを渡すと、エラー$HOME/file.sh
で失敗しENOENT
ます。しかし、展開されたパスを渡すと、つまり/root/file.sh
、stat()
成功、つまり終了コード 0 が返されます。
int main ()
{
struct stat statbuf;
char path [1024];
strcpy(path,"$HOME/file.sh");
int rc = stat(path,&statbuf);
if (rc == -1 )
{
printf ("File not found !!\n");
}
else
printf("Found it !!\n");
return 0;
}