Могу ли я проверить, относятся ли два номера FILE * или дескриптора файла к одному и тому же файлу?

У меня есть программа, которая читает из файла и пишет в файл. Я'Я хотел бы запретить пользователю указывать один и тот же файл для обоих (по понятным причинам). Допустим, первый путь вchar* path1 и второй путь вchar* path2, могу яfopen() оба пути, вызовfileno() на каждом и получить одинаковый номер?

Чтобы объяснить более четко:

char* path1 = "/asdf"
char* path2 = "/asdf"

FILE* f1 = fopen(path1, "r");
FILE* f2 = fopen(path2, "w");

int fd1 = fileno(f1);
int fd2 = fileno(f2);

if(fd1 == fd2) {
  printf("These are the same file, you really shouldn't do this\n");
}
РЕДАКТИРОВАТЬ:

Я не хочу сравнивать имена файлов, потому что можно легко победить это такими путями, как/asdf/./asdf или с помощью символических ссылок. В конечном счете, я не хочу записывать свой вывод в файл, который ям чтение из (может вызвать серьезные проблемы).

Ответы на вопрос(1)

Ваш ответ на вопрос