У меня есть программа, которая принимает два имени файла в качестве аргументов: он читает первый файл, чтобы создать второй файл. Как я могу гарантировать, что программа не будет перезаписывать первый файл?Как проверить, указывают ли два имени файла на один и тот же физический файл
Ограничения:
- Метод должен продолжать работать, когда файловая система поддерживает (мягкие или жесткие) ссылки
- Права доступа к файлу фиксированы и требуется только, что первый файл читается и второй файл Writeable
- Она предпочтительно должна быть платформа нейтральной (хотя Linux является основной мишенью)
В философии UNIX и Linux такая программа называется фильтром. Он обычно читается со стандартного ввода (STDIN) и записывается на стандартный вывод (STDOUT). Это облегчает написание таких программ, поскольку оно отменяет ответственность таких проверок для вызывающего. Ваша программа может сосредоточиться на выполнении своей работы. –