По сути, вы просите кого-то реализовать универсальную функцию копирования, которая может принимать различные URI?
Например, если вы хотите загружать HTTP, вам понадобится библиотека, которая знает HTTP, например, cURL.
Два других (локальный путь и UNC) должны работать в Windows, посмотрите на использование fstream
. Есть много примеров.
В нынешнем виде этот вопрос чрезвычайно расплывчатый и на самом деле не требует помощи; просто просит нас реализовать то, что звучит как домашнее задание.