Как происходит перемещение файлов между каталогами на физическом уровне? В общем, в C++ STL Filesystem просто нет функции для перемещения файлов между каталогами, типа std::move(). И это, в общем-то, не проблема, ведь можно скопировать и удалить. Но соль в том, что я всегда думал, что на уровне ОС перемещение не физическое, а просто меняется указатель (метка, запись... не знаю как правильно). Это просто косяк STL, или перемещение действительно достигается копированием и удалением?

11 Июл 2020 в 19:45
423 +1
0
Ответы
1

На физическом уровне перемещение файла между каталогами действительно может происходить разными способами, в зависимости от операционной системы и файловой системы. В некоторых случаях файл может перемещаться путем изменения указателей на данные на диске, что позволяет избежать копирования и удаления файла. Однако, в некоторых случаях файл все-таки может быть скопирован и затем удален из исходного местоположения.

В C++ STL Filesystem отсутствует функция для перемещения файлов между каталогами, поэтому приходится использовать более длинный способ через копирование и удаление файла. Это, скорее всего, не является косяком STL, а скорее ограничением данной библиотеки. Если вам необходимо перемещать файлы без копирования, можно воспользоваться системными вызовами операционной системы или другими библиотеками, поддерживающими перемещение файлов.

18 Апр 2024 в 10:47
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир