Будьте осторожны с изменением каталога в программе - все, что обычно требуется, - это открывать файлы на внешнем устройстве без фактического изменения каталога на него.
Однако как в Windows, так и в Unix основной ответ - операция «изменить каталог». На Unix-подобных платформах это системный вызов 'chdir (2)'; Ваша программа должна указать имя каталога, в который смонтирован внешний жесткий диск, и затем относительные имена путей будут записаны в соответствующие места на диске (при условии, что имя пути не содержит слишком много последовательностей «../»).
В Windows вам необходимо убедиться, что вы указали букву диска и путь на жестком диске.