Я завершаю проект по созданию фиктивных файловых систем для резервного копирования, и мне необходимо разработать метод создания жестких и программных ссылок в структурах.
Функции CreateHardLink и CreateSymbolicLink в windows.h получают расположение и имена файлов на основе текущего рабочего каталога.
Исходный код теперь меняет каталог, но эти две функции не выполняются успешно.
wstring hltarg;
hltarg = L"sym";
hltarg += ExistingFileName;
CreateHardLinkW(hltarg.c_str(), ExistingFileName.c_str(), NULL)
где hltarg объединяет имя существующего файла до конца sym.
Поскольку я переместил свой рабочий каталог в целевой каталог, ни одна из этих строк не содержит полный путь, а только имена целевых файлов.
Какой-нибудь совет по другому маршруту, вместо того, чтобы менять текущий каталог?
Приложение должно быть переносимым, чтобы не было жестких ссылок на пути к файлам, хотя будут предоставлены необходимые пути к файлам.