0
#include "stdlib.h"
#include "sys/stat.h"
#include "stdio.h"

int main(){
     struct stat s;
     lstat("../", &s);
     if(S_ISDIR(s.st_mode) == 0){
          printf("yes\n");
     }else{
          printf("no\n");
     }
}

結果:「いいえ」

このコードのさまざまなバリエーション (たとえば、S_ISREG を使用) を実行すると、毎回予想とは逆の結果が得られます。したがって、「../」を含む S_ISREG の場合、「yes」となります。私はしばらくの間、この種のもの(ファイルのアクセス許可、ディレクトリの作成など)をいじっていたので、何かを台無しにしたのか、それとも何なのかわかりません。どんな助けでも大歓迎です。

4

1 に答える 1