POSIX環境またはWindows環境にて、2つのパス文字列が同一ファイルを指すか否かを判定する方法。(ファイルが存在していることが前提) POSIX デバイスIDとinode番号*1を用いて同一性判定を行う。 #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int is_identical_file(const char* path1, const char* path2) { struct stat fs1, fs2; if (stat(path1, &fs1) == 0 && stat(path2, &fs2) == 0) { if (fs1.st_dev == fs2.st_dev && fs1.st_ino == fs2.st_ino) { return 1; } } return 0; } Win