Нет портативного способа сделать то, что вы просите.Концепция архива не требует использования файла и даже не требует использования производного от C ++ класса iostream.Все типы архивов библиотек используют iostream, но даже они не обязательно должны быть file streams.
Конечно, вы можете создать свой собственный тип архива.Один специально для файлов.Возможно, получен из существующего, передавая аргументы базовому классу.У него будет дополнительная функция для получения имени файла, который использовался для его создания.